作用
用于矩阵的乘法运算,其中包括:向量内积、多维矩阵乘法和矩阵与向量的乘法。
向量内积
向量(一维矩阵)的内积要求为:内积的向量列数相同
arr1 = np.array([1,2,3])
arr2 = np.array([1,2,3])
arr3 = np.dot(arr1,arr2)
# arr3 = 1*1+2*2+3*3
多维矩阵乘法
两个矩阵(arr1, arr2)如果可以进行乘法运算,需要满足以下条件:arr1为 m×n 阶矩阵,arr2为 n×p 阶矩阵,则相乘的结果 arr3 为 m×p 阶矩阵。
arr1 = np.array([[1,2,3,4],[5,6,7,8]])
arr2 = np.array([[1,2],[3,4],[5,6],[7,8]])
arr3 = np.dot(arr1,arr2)
'''
arr3[0,0] = 1*1+2*3+3*5+4*7
arr3[0,1] = 1*2+2*4+3*6+4*8
arr3[1,0] = 5*1+6*3+7*5+8*7
arr3[1,1] = 5*2+6*4+7*6+8*8
'''
矩阵与向量的乘法
矩阵arr1为m×n阶,向量arr2为n阶向量,则矩阵arr1和向量arr2可以进行乘法运算,结果为m阶向量。进行运算时,会首先将后面一项进行自动转置操作,之后再进行乘法运算。
arr1 = np.array([[1,2,3,4],[5,6,7,8]])
arr2 = np.array([1,2,3,4])
arr3 = np.dot(arr1,arr2)
# arr3 = [30,70]
arr4 = np.array([[1],[2],[3],[4]])
arr5 = np.dot(arr1,arr4)
# arr5 = [[30],[70]]