title: MATLAB vs Python numpy array/matrix multiplication
body: <p>I am translating some MATLAB code and am having some problems understanding the syntaxical difference between MATLAB and numpy for Python.</p>
  
  <p>In MATLAB I have a 6 by 6 matrix, A, as well as 6 float values, a, b, c, d, e, f.
  The MATLAB code</p>
  
  <pre><code>B = A*[a;b;c;d;e;f];
  </code></pre>
  
  <p>produces a 6 by 1 matrix, B.
  So I figured that the MATLAB operator '*' must correspond to the numpy operator numpy.dot().</p>
  
  <p>So in my Python code I have the same matrix, A, and the same values for a, b, c, d, e and f.</p>
  
  <pre><code>B = numpy.dot(A, [[a],[b],[c],[d],[e],[f]])
  </code></pre>
  
  <p>does not produce the same matrix, B, and neither does</p>
  
  <pre><code>B = numpy.dot(A, [a,b,c,d,e,f])
  </code></pre>
  
  <p>I have also tried building the Python matrix and array with numpy's array function with the same result.
  It feels like I am mixing something fundamental up here. Any help is greatly appreciated.</p>