NumPy的np.dot函数:计算点积与矩阵乘积的利器

np.dot 是 NumPy 库中的一个函数,用于计算两个数组的点积。它支持多种类型的输入数组,包括向量和矩阵,并返回它们的点积或矩阵乘积。

对于两个向量(一维数组),np.dot 返回它们的点积,即对应元素的乘积之和。对于矩阵和向量的乘积,或者两个矩阵的乘积,np.dot 执行标准的线性代数矩阵乘法。

下面是一些 np.dot 的基本用法示例:

两个向量的点积

复制代码

python复制代码

|---|----------------------------|
| | import numpy as np |
| | |
| | a = np.array([1, 2, 3]) |
| | b = np.array([4, 5, 6]) |
| | |
| | result = np.dot(a, b) |
| | print(result) # 输出:32 |

矩阵与向量的乘积

复制代码

python复制代码

|---|-----------------------------------|
| | A = np.array([[1, 2], [3, 4]]) |
| | b = np.array([5, 6]) |
| | |
| | result = np.dot(A, b) |
| | print(result) # 输出:[17 39] |

两个矩阵的乘积

复制代码

python复制代码

|---|-----------------------------------|
| | A = np.array([[1, 2], [3, 4]]) |
| | B = np.array([[5, 6], [7, 8]]) |
| | |
| | result = np.dot(A, B) |
| | print(result) |
| | # 输出: |
| | # [[19 22] |
| | # [43 50]] |

请注意,当计算两个矩阵的乘积时,左侧矩阵的列数必须等于右侧矩阵的行数,否则 NumPy 会抛出一个错误。

np.dot 在进行数组运算时非常高效,因为它利用了底层的优化算法。在处理大型数组或进行复杂的数学运算时,使用 np.dot 通常比手动实现这些运算要快得多。

相关推荐
Physicist in Geophy.17 分钟前
从矩阵到函数(算子理论)
矩阵·math
Physicist in Geophy.1 小时前
一维波动方程(从变分法角度)
线性代数·算法·机器学习
AI科技星2 小时前
从ZUFT光速螺旋运动求导推出自然常数e
服务器·人工智能·线性代数·算法·矩阵
_OP_CHEN3 小时前
【算法基础篇】(五十八)线性代数之高斯消元法从原理到实战:手撕模板 + 洛谷真题全解
线性代数·算法·蓝桥杯·c/c++·线性方程组·acm/icpc·高斯消元法
啊阿狸不会拉杆3 小时前
《机器学习导论》第 10 章-线性判别式
人工智能·python·算法·机器学习·numpy·lda·线性判别式
独断万古他化3 小时前
【算法通关】前缀和:和为 K、和被 K整除、连续数组、矩阵区域和全解
算法·前缀和·矩阵·哈希表
3GPP仿真实验室13 小时前
【MATLAB源码】CORDIC-QR :基于Cordic硬件级矩阵QR分解
开发语言·matlab·矩阵
Σίσυφος190014 小时前
PCL 法向量估计-PCA邻域点(经典 kNN 协方差)的协方差矩阵
人工智能·线性代数·矩阵
_OP_CHEN1 天前
【算法基础篇】(五十七)线性代数之矩阵乘法从入门到实战:手撕模板 + 真题详解
线性代数·算法·矩阵·蓝桥杯·c/c++·矩阵乘法·acm/icpc
芷栀夏1 天前
CANN ops-math:从矩阵运算到数值计算的全维度硬件适配与效率提升实践
人工智能·神经网络·线性代数·矩阵·cann