NumPy线性代数

《NumPy线性代数》

简介

线性代数是数组中的重要组成部分,它包括矩阵乘法、矩阵分解、行列式和其他方阵运算。

函数 描述
diag() 以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换为方阵(非对角线元素为0)
dot() 矩阵乘法
trace() 计算对角线元素的和
det() 计算矩阵行列式
eig() 计算方阵的本征值和本征向量
inv() 计算方阵的逆
pinv() 计算矩阵的Moore-Penrose伪逆
qr() 计算QR分解
svd() 计算奇异值分解(SVD)
solve() 解线性方程组Ax=b,其中A为一个方阵
lstsq() 计算Ax=b的最小二乘解

接下来介绍常用的函数。

dot()函数

该函数既是NumPy的函数,又是一个数组的方法,表示两个数组的点积。

代码演示:

det()函数

该函数能够计算输入矩阵的行列式。

代码演示:

solve()函数

该函数可以计算线性方程的解。

假如有如下方程组:

为了解出如上方程组,代码如下:

最后解出x=2,y=3。

inv()函数

计算方阵的逆矩阵。逆矩阵的定义为如果两个方阵A、B,使得AB=BA=E,则A称为可逆矩阵,B为A的逆矩阵,其中E为单位矩阵。

代码演示:

之前提到解线性方程,可以使用solve()函数解ax=b,同样可以改写成x=a逆矩阵*b

代码演示:

总结

本文介绍了NumPy中处理线性代数的函数。主要介绍了矩阵点积、行列式、解线性方程和求方阵的逆。它们跟MATLAB和R等语言使用的都是行业标准级Fortran库,因此,通过NumPy能够实现丰富的矩阵运算,大家有需要可以深入的学习。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

12 + 9 =