a1 = np.array([[1,2,1], [2,3,4]]) #.dot在双方是二位数组即矩阵时为正常的矩阵运算
b1 = np.array([1,2,3]) #(*)则可以应用于矩阵与向量的运算,矩阵里的元素乘以向量对应位置的元素
a1.dot(b1),b1*a1
(array([ 8, 20]),
array([[ 1, 4, 3],
[ 2, 6, 12]]))
a1 = np.array([[1,2,1], [2,3,4],[2,3,4]]) #.dot在有一方为向量时,则为点积运算
b1 = np.array([1,2,3])
c = a1.dot(b1)
c.shape,c
((3,), array([ 8, 20, 20]))
a1 = np.array([[1,2,1], [2,3,4],[2,3,4]]
b1 = np.array([1,2,3])
c = a1*b1
c.shape,c
((3, 3),
array([[ 1, 4, 3],
[ 2, 6, 12],
[ 2, 6, 12]]))
a1 = np.array([[1,2,1], [2,3,4],[2,3,4]])
b1 = np.array([[1],[2],[3]])
c = a1*b1
c.shape,c
((3, 3),
array([[ 1, 2, 1],
[ 4, 6, 8],
[ 6, 9, 12]]))