要反转一个矩阵,需要用到NumPy中的linalg模块。下面是具体流程:
- 导入NumPy模块
import numpy as np
- 创建矩阵
创建一个2×2的矩阵,示例代码如下:
matrix = np.array([[1, 2], [3, 4]])
matrix的结果为:
array([[1, 2],
[3, 4]])
- 使用linalg模块反转矩阵
NumPy中的linalg模块包含了许多线性代数函数,包括反转矩阵。可以使用inv()函数来反转矩阵,代码如下:
inv_matrix = np.linalg.inv(matrix)
inv_matrix的结果为:
array([[-2. , 1. ],
[ 1.5, -0.5]])
这个矩阵是原矩阵matrix的逆矩阵。
- 验证矩阵反转的正确性
可以通过矩阵相乘,验证反转矩阵的正确性。代码如下:
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]])
说明这个矩阵是可反转的。