Python 中的几种矩阵乘法 np.dot, np.multiply, *
使用array时,运算符 * 用于计算数量积(点乘),函数 dot() 用于计算矢量积(叉乘).
使用matrix时,运算符 * 用于计算矢量积,函数 multiply() 用于计算数量积.
下面是使用array时:
1. 同线性代数中矩阵乘法的定义: np.dot()
np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。
2. 对应元素相乘 element-wise product: np.multiply(), 或 *
在Python中,实现对应元素相乘,有2种方式,一个是np.multiply(),另外一个是*。这两种的效果是一样的。
请看代码:
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 3 4 import numpy as np 5 6 X = np.array([[1,2],[3,4]]) 7 Y = np.array([[5,6],[7,8]]) 8 9 a1 = np.dot(X,Y) 10 print('np.dot(X,Y)=\n',a1) 11 12 a2 = np.multiply(X,Y) 13 print('np.multiply(X,Y)=\n',a2)
运行结果:
1 2 3 4 5 6 7 8 9 | np.dot(X,Y) = [[ 19 22 ] [ 43 50 ]] np.multiply(X,Y) = [[ 5 12 ] [ 21 32 ]] X * Y = [[ 5 12 ] [ 21 32 ]] |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步