title: Numpy multiply arrays into matrix (outer product)
body: <p>I have 2 numpy arrays of shape (5,1) say:
  a=[1,2,3,4,5]
  b=[2,4,2,3,6]</p>
  
  <p>How can I make a matrix multiplying each i-th element with each j-th? Like:</p>
  
  <pre><code>..a = [1,2,3,4,5]
  b 
  2    2, 4, 6, 8,10
  4    4, 8,12,16,20
  2    2, 4, 6, 8,10
  3    3, 6, 9,12,15
  6    6,12,18,24,30
  </code></pre>
  
  <p>Without using forloops? is there any combination of reshape, reductions or multiplications that I can use?</p>
  
  <p>Right now I create a a*b tiling of each array along rows and along colums and then multiply element wise, but it seems to me there must be an easier way.</p>