Your ais a three-dimensional array
In [258]: a = np.array([ [ [1., 2., 3.], [4., 5., 6.], [7., 8., 9.] ],
.....: [ [20., 21., 22.], [23., 24., 25.], [26., 27., 28.] ],
.....: [ [30., 31., 32.], [33., 34., 35.], [36., 37., 38.] ]
.....: ])
In [259]: a.shape
Out[259]: (3, 3, 3)
2d arrays may be available with indexing
In [260]: a[0,:,:]
Out[260]:
array([[ 1., 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 9.]])
and a tuple of 3 2d arrays can be obtained using:
In [261]: (a[0,:,:],a[1,:,:],a[2,:,:])
Out[261]:
(array([[ 1., 2., 3.],
[ 4., 5., 6.],
[ 7., 8., 9.]]),
array([[ 20., 21., 22.],
[ 23., 24., 25.],
[ 26., 27., 28.]]),
array([[ 30., 31., 32.],
[ 33., 34., 35.],
[ 36., 37., 38.]]))
(matrix1, matrix2, matrix3). 2d array matrix, numpy , matrix, .
- . None a.
In [262]: a[:,None,:,:]-a[None,:,:,:]
Out[262]:
array([[[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]],
[[-19., -19., -19.],
[-19., -19., -19.],
[-19., -19., -19.]],
...
[[ 10., 10., 10.],
[ 10., 10., 10.],
[ 10., 10., 10.]],
[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]]])
In [263]: _.shape
Out[263]: (3, 3, 3, 3)
- 4d, 3x3 3x3. , A[i,i,:,:] - 0s.
In [264]: A=a[:,None,:,:]-a[None,:,:,:]
In [265]: A[2,2,:,:]
Out[265]:
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])