title: Eigen Matrices multiplication
body: <p>Why is it necessary to use the noallias() expression when doing matrix product when using c++ eigen library?</p>
  
  <pre><code>m1.noalias() += (s1*s2*conj(s3)*s4) * m2.adjoint() * m3.conjugate()
  </code></pre>
  
  <p>I have been reading some notes about it but still find it difficult to understand.</p>