title: python ravel vs. transpose when used in reshape
body: <p>I have a 2D array <code>v</code>, <code>v.shape=(M_1,M_2)</code>, which I want to reshape into a 3D array with <code>v.shape=(M_2,N_1,N_2)</code>, and <code>M_1=N_1*N_2</code>. </p>
  
  <p>I came up with the following lines which produce the same result:</p>
  
  <pre><code>np.reshape(v.T, reshape_tuple)
  </code></pre>
  
  <p>and</p>
  
  <pre><code>np.reshape(v.ravel(order='F'), reshape_tuple)
  </code></pre>
  
  <p>for  <code>reshape_tuple=(M_2,N_1,N_2)</code>.</p>
  
  <p>Which one is computationally better and in what sense (comp time, memory, etc.) if the original <code>v</code> is a huge (possibly complex-valued) matrix?</p>
  
  <p>My guess would be that using the transpose is better, but if <code>reshape</code> does an automatic <code>ravel</code> then maybe the ravel-option is faster (though <code>reshape</code> might be doing the <code>ravel</code> in C or Fortran and then it's not clear)? </p>