一般来说数组乘法需要满足数组1的列等于数组2的行,但其中一个数组时1*1数组时则可以看成数乘的形式,不过依然会报错,结果如下:
有没有什么好的解决方案,比如怎样将1*1数组看成一个数字呢
aDotb = a.T.dot(b).item() 后面将矩阵提出数字就行
何必那么麻烦?在NumPy中,matrix是ndarray的派生类,不怎么好用,我喜欢直接用ndarray代替。
>>> a = np.array([1,0,0])
>>> b = np.array([1,0,0])
>>> M = np.array([[1,2,3],[4,5,6],[7,8,9],[0,0,2]])
>>> np.dot(np.dot(a,b), M)
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[0, 0, 2]])