Suppose you have a matrix M, the (i, j) th element is
M_ij = 2*i + 3*j
One way to determine this matrix would be
i, j = np.indices((2,3)) M = 2*i + 3*j
what gives
array([[0, 3, 6], [2, 5, 8]])
In other words, np.indices returns arrays that can be used as indexes. Elements in i indicate the row index:
In [12]: i Out[12]: array([[0, 0, 0], [1, 1, 1]])
Elements in j indicate the column index:
In [13]: j Out[13]: array([[0, 1, 2], [0, 1, 2]])
source share