title: "Kronecker addition" for indexing in Numpy
body: <p>I am seeking a "Kronecker addition" facility for Python Numpy for indexing where elements are added instead of multiplied as in the Kronecker product. Not standard Kronecker sum nor direct sum. </p>
  
  <p>This will do ok: </p>
  
  <pre><code>def kron_add(A, B):
      C = np.kron(A, np.ones(np.asarray(B).shape)) + \
          np.kron(np.ones(np.asarray(A).shape), B)
      return C
  
  &gt;&gt;&gt; kron_add([0, 40, 80, 120], [0, 1, 2, 3])
  array([   0.,    1.,    2.,    3.,   40.,   41.,   42.,   43.,   80.,
           81.,   82.,   83.,  120.,  121.,  122.,  123.])
  </code></pre>
  
  <p>And for a 1-dimensional problem this will do:</p>
  
  <pre><code>&gt;&gt;&gt; [i+j for i in [0, 40, 80, 120] for j in [0, 1, 2, 3]]
  [0, 1, 2, 3, 40, 41, 42, 43, 80, 81, 82, 83, 120, 121, 122, 123]
  </code></pre>
  
  <p>I suppose this last one is fairly readable and it solves my present issue. I was just wondering whether Numpy has a function or method that does this fairly general operation directly. </p>