title: How to make a matrix of arrays in numpy?
body: <p>I want to make a 2x2 matrix </p>
  
  <pre><code>T = [[A, B],
       [C, D]]
  </code></pre>
  
  <p>where each element <code>A,B,C,D</code> is an array (of same size, of course). Is this possible?</p>
  
  <p>I would like to be able to multiply these matrix, for example multiplying two matrix <code>T1</code> and <code>T2</code> should give me </p>
  
  <pre><code>T1*T2 = [[A1*A2, B1*B2],
           [C1*C2, D1*D2]]
  </code></pre>
  
  <p>which is still a matrix of arrays of the same size. Is there such a multiplication function?</p>
  
  <p>And also, if I multiply <code>T</code> with a normal scalar matrix <code>t = [[a,b],[c,d]]</code> where <code>a,b,c,d</code> are scalar numbers, the the multiplication should give me</p>
  
  <pre><code>t*T = [[a*A, b*B],
         [c*C, d*D]]
  </code></pre>
  
  <p>How can I do this? An example or a link to related material would be great.</p>