Python Numpy矩阵运算:点乘与叉乘详解

竹里
竹里
发布时间:2026-10-14| 5人浏览过
原创

本文详解Python中Numpy库的矩阵运算,区分点乘与叉乘概念。通过Matlab与Python代码对比,展示使用*运算符进行逐元素点乘及dot函数实现矩阵叉乘的具体方法,帮助开发者掌握Numpy数组乘法操作。

矩阵叉乘与点乘的基本概念

在传统的线性代数学习中,矩阵之间的乘法通常指代矩阵的叉乘(即矩阵乘法)。这种运算方式有一个严格的前提条件。

假设矩阵A的维度为m*n,矩阵B的维度为p*q。若要执行AB的乘法运算,必须满足n=p这一条件,即矩阵A的列数必须等于矩阵B的行数。具体的运算规则可参考下图所示。

在学习线性代数时,教师通常会提供一种更为直观的记法来辅助理解。

相比之下,点乘(Element-wise multiplication)的计算方式如下所示。

Matlab与Python中的矩阵运算实现

假设有矩阵a和b,在Matlab环境中,实现点乘和叉乘的代码方式分别如下所示。


a.*b %表示点乘
a*b %表示叉乘


接下来,我们查看在Python环境中如何进行相应的操作。


import numpy as np

a = np.arange(1, 10).reshape(3, 3)
b = np.arange(1, 10).reshape(3, 3)
print(a)
print(a*b)  # 点乘只允许1*m和m*n

a1 = np.mat(np.arange(1, 10).reshape(3, 3))
a2 = np.mat(np.arange(1, 10).reshape(3, 3))
a3 = np.dot(a1, a2) # 叉乘使用dot
print(a1)
print(a3)

上述代码的运行结果如下。

使用python语言进行运算时,其行为与Matlab环境中的某些操作恰好相反。具体而言,使用点乘计算实际上是让两个数组中相同下标的元素进行相乘。而Numpy库中的dot函数则是专门用于实现数组的矩阵乘法(叉乘)。

至此,关于Python中Numpy矩阵运算的介绍已结束。如需了解更多Python Numpy矩阵运算相关内容,建议搜索本站过往文章或继续阅读后续相关文章,感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。