矩阵阵列numpy

时间:2014-09-26 00:46:44

标签: arrays numpy matrix

我需要在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()。因此,如果ABC是3x3矩阵,a将是:

a.shape -> (3,3,3) #matrices absorbed into array

感谢。

1 个答案:

答案 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的数组)