我有一个n个浮点数组,例如while True:
和一个块矩阵[a, b, ..., z]
,其中[II, X, Y, Z]
,II
,X
和Y
都是2x2矩阵。
Z
我的问题是如何将浮点数II = np.identity(2, dtype=complex)
X = np.array([[0, 1], [1, 0]], dtype=complex)
Y = np.array([[0, -1j], [1j, 0]], dtype=complex)
Z = np.array([[1, 0], [0, -1]], dtype=complex)
乘以块矩阵[a, b, ..., z]
,使其广播到:
[II, X, Y, Z]
形状为[[a*II, a*X, a*Y, a*Z]
[b*II, b*X, b*Y, b*Z]
....................
[z*II, z*X, z*Y, z*Z]]
?
答案 0 :(得分:1)
您只需要确保尺寸匹配即可。这是一个示例:
mult = np.array([1,2,3,4,5])
conc = np.array([II,X,Y,Z])
res = conc.reshape(((1,)+conc.shape)) * mult.reshape((len(mult),1,1,1))
print(res.shape)
输出:
(5, 4, 2, 2)