如何在Python中使用SciPy计算矩阵的逆?
有时候,需要数学计算一个矩阵的逆,然后将计算结果用于其他用途。以下是手动查找矩阵逆的步骤。
计算“子式”的值
在这个计算中,当前行和列的值被忽略,找出其余值的行列式。计算出的子式存储在矩阵中。
下一步是找到余因子,其中“子式”矩阵中值的交替符号从“+”变为“-”或反之亦然。
接下来,矩阵被转置,即行被转换为列,列被转换为行。
找到原始矩阵的行列式,并将先前计算的矩阵中的所有元素除以行列式。结果矩阵将是原始矩阵的逆。
使用计算手动查找矩阵的逆是一个冗长的过程。这就是“SciPy”库中的“inv”函数发挥作用的地方。
“inv”函数的语法
scipy.linalg.inv(matrix)
“matrix”是传递给“inv”函数以查找其逆值的参数。
更多Python相关文章,请阅读:Python 教程
示例
from scipy import linalg
import numpy as np
two_d_matrix = np.array([ [7, 9], [33, 8] ])
print("矩阵的逆是:")
print(linalg.inv(two_d_matrix ))
输出
矩阵的逆是:
[[-0.03319502 0.0373444 ]
[ 0.13692946 -0.02904564]]
解释
- 导入必要的库。
- 定义一个具有特定值的矩阵。
- 传递参数给“inv”函数,计算矩阵的逆。
- 调用该函数。
- 在控制台上显示该输出。