dot()函数运算不同与加乘法,正反顺序对值也有影响,本文为对dot()运算的理解笔记
首先看一维与一维的结果
import numpy as np
A = np.array([1,2])
B = np.array([3,4])
print(np.dot(A,B))
print(np.dot(B,A))
11
11
结果均为11,规律如下
再看二维与一维的运算结果
import numpy as np
A = np.array([[1,2],[3,4]])
C = np.array([1,2])
print(np.dot(A,C))
print(np.dot(A,C))
结果为
[ 5 11]
[ 7 10]
规律如下
二维X二维的运算
import numpy as np
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
print(np.dot(A,B))
print(np.dot(B,A))
结果如下
[[19 22] [43 50]]
[[23 34] [31 46]]
规律如下
不难发现
A(第一个位置的array)以行为单位去和 B(第二个位置的array)的列相乘
当A的第一行与B的每一列运算完毕后,结果为嵌套列表的第一个列表,再接着A的第二行与B的每一列运算,存为第二个列表,如此规律进行