1.numpy两个矩阵类型的向量相乘,结果还是一个矩阵
c = a*b
c
Out[66]: matrix([[ 6.830482]])
2.两个向量类型的向量相乘,结果为一个二维数组
b
Out[80]:
array([[ 1.],
[ 1.],
[ 1.]])
a
Out[81]: array([1, 2, 3])
a*b
Out[82]:
array([[ 1., 2., 3.],
[ 1., 2., 3.],
[ 1., 2., 3.]])
b*a
Out[83]:
array([[ 1., 2., 3.],
[ 1., 2., 3.],
[ 1., 2., 3.]])
3.两个向量类型的向量做点乘,结果为数
a
Out[84]: array([1, 2, 3])
b
Out[85]:
array([[ 1.],
[ 1.],
[ 1.]])
np.dot(a,b)
Out[86]: array([ 6.])
维数不匹配的错误情况
np.dot(b,a)
Traceback (most recent call last):
File "<ipython-input-87-919b2ab6633f>", line 1, in <module>
np.dot(b,a)
ValueError: shapes (3,1) and (3,) not aligned: 1 (dim 1) != 3 (dim 0)
a = np.array([[1],[2],[3]])
np.dot(b,a)
Traceback (most recent call last):
File "<ipython-input-89-919b2ab6633f>", line 1, in <module>
np.dot(b,a)
ValueError: shapes (3,1) and (3,1) not aligned: 1 (dim 1) != 3 (dim 0)