获取两个一维numpy矩阵的乘积
我有两个一维的numpy矩阵:
[[ 0.69 0.41]]
和 [[ 0.81818182 0.18181818]]
我想把这两个矩阵相乘,得到的结果是:
[[0.883, 0.117]]
(这个结果是经过归一化处理的)
但是如果我使用 np.dot
,就会出现 ValueError: matrices are not aligned
的错误。
有没有人知道我哪里出错了?
编辑
我用了一种有点“hacky”的方法解决了这个问题,虽然不确定有没有更好的解决方案,但对我来说是有效的。
new_matrix = np.matrix([ a[0,0] * b[0,0], a[0,1] * b[0,1] ])
1 个回答
1
看起来你想进行逐个元素的数学运算。Numpy数组默认就支持这种操作。
In [1]: import numpy as np
In [2]: a = np.matrix([.69,.41])
In [3]: b = np.matrix([ 0.81818182, 0.18181818])
In [4]: np.asarray(a) * np.asarray(b)
Out[4]: array([[ 0.56454546, 0.07454545]])
In [5]: np.matrix(_)
Out[5]: matrix([[ 0.56454546, 0.07454545]])