我需要在numpy中创建一个矩阵数组。这样我就可以将它们视为标量并将其与另一个数组对齐,如下所示:
a = [1,2,3]
b = [A,B,C] #A, B, and C are matrices
result = a.dot(b) #1A + 2B + 3C
或类似于矩阵M,使得:
M.dot(b) -> another array of matrices
有没有办法做到这一点?目前,每个类似数组的东西都被包含在外面的numpy数组中,首先允许.dot()
。因此,如果A
,B
和C
是3x3矩阵,a
将是:
a.shape -> (3,3,3) #matrices absorbed into array
感谢。
答案 0 :(得分:0)
解决方案:
import numpy as np
a = np.array([1,2,3])
X= np.ones((3,3))
Y= np.ones((3,3))
Z= np.ones((3,3))
b = np.array([X,Y,Z], dtype=object)
print a.dot(b)
结果:
[[6.0 6.0 6.0]
[6.0 6.0 6.0]
[6.0 6.0 6.0]]
请记住,标量数组的长度必须与矩阵的大小相同(在本例中为矩阵3x3,因此需要一个长度为3的数组)