如何用NumPy来反转矩阵

  • Post category:Python

要反转一个矩阵,需要用到NumPy中的linalg模块。下面是具体流程:

  1. 导入NumPy模块
import numpy as np
  1. 创建矩阵

创建一个2×2的矩阵,示例代码如下:

matrix = np.array([[1, 2], [3, 4]])

matrix的结果为:

array([[1, 2],
       [3, 4]])
  1. 使用linalg模块反转矩阵

NumPy中的linalg模块包含了许多线性代数函数,包括反转矩阵。可以使用inv()函数来反转矩阵,代码如下:

inv_matrix = np.linalg.inv(matrix)

inv_matrix的结果为:

array([[-2. ,  1. ],
       [ 1.5, -0.5]])

这个矩阵是原矩阵matrix的逆矩阵。

  1. 验证矩阵反转的正确性

可以通过矩阵相乘,验证反转矩阵的正确性。代码如下:

identity_matrix = np.dot(matrix, inv_matrix)

identity_matrix为一个单位矩阵,结果如下:

array([[1., 0.],
       [0., 1.]])

这说明矩阵反转成功。

下面是另一个示例,创建一个3×3的矩阵,并反转它:

matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
inv_matrix = np.linalg.inv(matrix)

inv_matrix的结果为:

array([[-1.23333333e+16,  2.46666667e+16, -1.23333333e+16],
       [ 2.46666667e+16, -4.93333333e+16,  2.46666667e+16],
       [-1.23333333e+16,  2.46666667e+16, -1.23333333e+16]])

说明这个矩阵是可反转的。