一、dot()的使用
1)格式:np.dot(array1, array2) == array1.dot(array2)
2)功能:返回的是两个数组乘积后的数据和
# 注:np.dot(array1, array2) == np.sum(array1 * array2),而不是array1 * array2
# array1 * array2:对应数据相乘,结果还是一个array
3)实例
- 处理的一维向量:
In : d = np.arange(0,9) Out: array([0, 1, 2, 3, 4, 5, 6, 7, 8]) In : e = d[::-1] Out: array([8, 7, 6, 5, 4, 3, 2, 1, 0]) In : np.dot(d,e) Out: 84
- 处理二维矩阵:
In : a = np.arange(1,5).reshape(2,2) Out: array([[1, 2], [3, 4]]) In : b = np.arange(5,9).reshape(2,2) Out: array([[5, 6], [7, 8]]) In : np.dot(a,b) Out: array([[19, 22], [43, 50]])
二、两矩阵相乘
- 所得到的数组中的每个元素为,第一个矩阵中与该元素行号相同的元素与第二个矩阵与该元素列号相同的元素,两两相乘后再求和
- 矩阵积计算不遵循交换律,np.dot(a,b) 和 np.dot(b,a) 得到的结果是不一样的