- 对于
array
对象,*
和np.multiply
函数代表的是数量积,如果希望使用矩阵的乘法规则,则应该调用np.dot
和np.matmul
函数。 - 对于
matrix
对象,*
直接代表了原生的矩阵乘法,而如果特殊情况下需要使用数量积,则应该使用np.multiply
函数。
简而言之,无论对于array还是matrix的数据类型np.multiply都是指的数量积,而对于matrix来说,为了和线性代数当中进行统一,则直接使用*矩阵乘积。对于array(在线性代数当中对应于行向量或者列向量)而言,用np.dot表示真正的向量乘积(记不住np.matmul就不要记了)。