Python NumPy 线性代数
1、矩阵和向量积
矩阵和向量积可以用 numpy.dot()
函数来计算。numpy.dot() 函数的两个参数分别是矩阵和向量。
1)矩阵积
矩阵积是两个矩阵相乘的结果。矩阵积的计算方法是将矩阵的每一行与另一个矩阵的每一列相乘,然后将各个相乘结果相加。
示例代码:
2)向量积
向量积是两个向量相乘的结果。向量积的计算方法是将两个向量的每一维度相乘,然后将各个相乘结果相加。
示例代码:
2、矩阵特征值与特征向量
在线性代数中,特征值和特征向量是矩阵的一个重要概念。特征值是矩阵可以对其乘法的标量,而特征向量是特征值对应的向量。Python NumPy 提供了 numpy.linalg.eig()
函数来计算矩阵的特征值和特征向量。numpy.linalg.eig()
函数的返回值是一个元组,第一个元素是特征值,第二个元素是特征向量。
示例代码:
3、矩阵分解
矩阵分解是将一个矩阵分解为多个矩阵的一种方法。矩阵分解有许多种不同的方法,每种方法都有其不同的应用。
1)奇异值分解
NumPy 提供了 numpy.linalg.svd()
函数来实现奇异值分解。numpy.linalg.svd()
函数的返回值是一个元组,第一个元素是奇异值矩阵,第二个元素是左奇异向量矩阵,第三个元素是右奇异向量矩阵。
示例代码:
2)QR分解
QR 分解是将矩阵分解为两个矩阵的一种方法,其中一个矩阵是正交矩阵,另一个矩阵是上三角矩阵。NumPy 提供了 numpy.linalg.qr()
函数来实现 QR 分解。numpy.linalg.qr()
函数的返回值是一个元组,第一个元素是正交矩阵,第二个元素是上三角矩阵。
示例代码:
3)Cholesky分解
Cholesky 分解是将对称正定的矩阵分解为两个下三角矩阵的一种方法。NumPy 提供了 numpy.linalg.cholesky()
函数来实现 Cholesky 分解。numpy.linalg.cholesky()
函数的返回值是一个矩阵,即下三角矩阵 L。
示例代码:
4、矩阵的范数
在线性代数中,范数是用来衡量向量或矩阵大小的一种方法。范数有许多种不同的定义,每种定义都有其不同的意义。NumPy 中矩阵范数的使用非常简单,只需调用相应的函数即可。numpy.linalg.norm(x, ord=None)
,ord
参数用于指定范数类型
示例代码:https://www.cjavapy.com/article/3195/
5、方阵的行列式
在线性代数中,行列式是矩阵的一个重要特征,它可以用于计算矩阵的特征值、逆矩阵等。NumPy 提供了 numpy.linalg.det()
函数来计算矩阵的行列式。numpy.linalg.det()
函数的参数是一个矩阵,返回值是矩阵的行列式。
示例代码:
6、矩阵的秩
在线性代数中,矩阵的秩是指矩阵中线性无关列向量的最大个数。矩阵的秩可以用于判断矩阵是否可逆、是否满秩等。NumPy 提供了 numpy.linalg.matrix_rank()
函数来计算矩阵的秩。numpy.linalg.matrix_rank()
函数的参数是一个矩阵,返回值是矩阵的秩。
示例代码:https://www.cjavapy.com/article/3195/
7、矩阵的迹
在线性代数中,迹是指矩阵对角线元素之和。矩阵的迹可以用于计算矩阵的一些特征值、特征向量等。NumPy 提供了 numpy.trace()
函数来计算矩阵的迹。numpy.trace()
函数的参数是一个矩阵,返回值是矩阵的迹。
示例代码:
8、逆矩阵
在线性代数中,逆矩阵是指与原矩阵相乘等于单位矩阵的矩阵。矩阵的逆矩阵可以用于求解线性方程组、计算矩阵的特征值等。NumPy 提供了 numpy.linalg.inv()
函数来计算矩阵的逆矩阵。numpy.linalg.inv()
函数的参数是一个矩阵,返回值是矩阵的逆矩阵。
示例代码:
9、求解线性方程组
在线性代数中,线性方程组是指由一个或多个未知数和多个线性方程组成的方程组。线性方程组的解就是满足所有方程的未知数组成的向量。NumPy 提供了 numpy.linalg.solve()
函数来求解线性方程组。numpy.linalg.solve()
函数的参数是系数矩阵和常数向量,返回值是解向量。
示例代码: