Python矩阵运算详解:乘法、求逆与转置实战

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

本文详细介绍Python中利用numpy进行矩阵运算的核心方法。涵盖矩阵相乘、对应元素相乘(multiply)、矩阵点乘、求逆(.I)、转置(.T)以及行列求和等常用操作。通过具体代码示例解析各运算函数的用法与区别,帮助开发者掌握基础的线性代数处理技巧。

Python矩阵运算基础

在Python中执行矩阵运算,主要依赖numpy库提供的功能。

首先介绍矩阵相乘的操作方式。

矩阵相乘示例


>>>a1=mat([1,2]);   
>>>a2=mat([[1],[2]]);
>>>a3=a1*a2 #1*2的矩阵乘以2*1的矩阵,得到1*1的矩阵
>>> a3
matrix([[5]])

其次,矩阵对应元素相乘是指两个矩阵中相同位置的元素分别进行乘法运算。

对应元素相乘


>>>a1=mat([1,1]);
>>>a2=mat([2,2]);
>>>a3=multiply(a1,a2)
>>> a3
matrix([[2, 2]])

实现这一功能通常使用multiply()函数,其输出结果的形状与参与运算的数组或矩阵维度保持一致。

接下来讨论矩阵点乘的概念与实现。

矩阵点乘与标量乘法


>>>a1=mat([2,2]);
>>>a2=a1*2
>>>a2
matrix([[4, 4]])

矩阵求逆是线性代数中的常见需求,用于求解线性方程组等场景。

矩阵求逆


>>>a1=mat(eye(2,2)*0.5)
>>> a1
matrix([[ 0.5, 0. ],
    [ 0. , 0.5]])
>>>a2=a1.I #求矩阵matrix([[0.5,0],[0,0.5]])的逆矩阵
>>> a2
matrix([[ 2., 0.],
    [ 0., 2.]])

矩阵转置操作将矩阵的行与列互换,是数据预处理中的基础步骤。

矩阵转置


>>> a1=mat([[1,1],[0,0]])
>>> a1
matrix([[1, 1],
    [0, 0]])
>>> a2=a1.T
>>> a2
matrix([[1, 0],
    [1, 0]])

此外,计算矩阵每一列或每一行的总和也是常用的统计操作。

行列求和计算


>>>a2=a1.sum(axis=0) #列和,这里得到的是1*2的矩阵
>>> a2
matrix([[7, 6]])
>>>a3=a1.sum(axis=1) #行和,这里得到的是3*1的矩阵
>>> a3
matrix([[2],
    [5],
    [6]])
>>>a4=sum(a1[1,:]) #计算第一行所有列的和,这里得到的是一个数值
>>> a4
5          #第0行:1+1;第2行:2+3;第3行:4+2

以下是关于numpy矩阵运算的具体扩展内容。

在numpy库中,矩阵运算有特定的语法规范。

对于矩阵点乘(即对应元素相乘),可以使用multiply(A,B)函数,其中A和B为待运算的矩阵。

矩阵乘法可以通过两种方式实现:一是直接使用运算符a*b,二是使用a.dot(b)方法,两者在特定条件下效果相同或存在差异,需注意维度匹配。

求逆矩阵可直接调用属性a.I,例如对矩阵[[0.5, 0], [0, 0.5]]求逆,结果为[[2., 0], [0, 2.]]。

矩阵转置通过属性a.T实现,即将原矩阵的行变为列,列变为行。

以上内容涵盖了Python中进行矩阵运算的主要方法,如需了解更多相关技巧,可参考本站其他文章或继续浏览后续内容。

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

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 算法库。