Numpy系列(七)求解线性方程组、计算逆矩阵求解线性方程组

求解线性方程组

  对于Ax=b,已知Ab,怎么算出x?

  调用solve方法直接求解:

Numpy系列(七)求解线性方程组、计算逆矩阵求解线性方程组

  还可以验证一下:

Numpy系列(七)求解线性方程组、计算逆矩阵求解线性方程组

计算逆矩阵求解线性方程组

  对于这样的线性方程组:

  • x + y + z = 6
  • 2y + 5z = -4
  • 2x + 5y - z = 27

  可以表示成矩阵的形式:

[111025251][xyz]=[6427]\left[\begin{array}{ccc} 1 & 1 & 1 \\ 0 & 2 & 5 \\ 2 & 5 & -1 \end{array}\right]\left[\begin{array}{l} x \\ y \\ z \end{array}\right]=\left[\begin{array}{c} 6 \\ -4 \\ 27 \end{array}\right]

  用公式可以表示为:Ax=b,其中A是矩阵,x和b都是列向量

  • 逆矩阵(inverse matrix)的定义

  设A是数域上的一个n阶矩阵,若存在另一个n阶矩阵B,使得: AB=BA=E ,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。注:E为单位矩阵。

  • 使用逆矩阵求解线性方程组的方法

  两边都乘以A1A^{-1},变成A1Ax=A1bA^{-1}Ax=A^{-1}b,因为任何矩阵乘以单位矩阵都是自身,所以x=A1bx = A^{-1}b

求解逆矩阵

  np.linalg.inv()方法就可以求解逆矩阵:

Numpy系列(七)求解线性方程组、计算逆矩阵求解线性方程组

验证矩阵和逆矩阵的乘积是单位矩阵

Numpy系列(七)求解线性方程组、计算逆矩阵求解线性方程组

验证线性方程组

Numpy系列(七)求解线性方程组、计算逆矩阵求解线性方程组