[英]Want to find the row operations when inverting a matrix
我有一系列矩阵,我想找到每个矩阵的逆矩阵。 我怀疑将行操作放入简化梯形/反转时存在一种模式。 python 中是否有一个库,我可以使用它来给我一系列行操作,例如 R1 = R1-aR2、R3=R1+bR4 等,直到它处于简化的行阶梯形式或完全反转。
我试过谷歌搜索,但它主要是关于如何反转矩阵的指南。
Python 中有一些库可以帮助您找到求逆矩阵时行操作的顺序。 SymPy 就是这样的一个库,它是一个用于符号数学的 Python 库。 它有一个内置的 function 称为 rref(简化的行梯形形式),可用于将矩阵放入简化的行梯形形式,以及一个 inv function 可用于查找矩阵的逆。
下面是一个示例,说明如何使用 SymPy 查找求逆矩阵所需的行操作:
from sympy import *
# Define the matrix
A = Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 10]])
# Find the reduced row echelon form of the matrix
rref, pivots = A.rref()
# Find the inverse of the matrix
A_inv = A.inv()
# Print the row operations
for i in range(len(pivots)):
row = pivots[i]
print(f"R{row+1} = R{row+1} - {rref[i, row]}*R{i+1}")
这将打印查找矩阵 A 的逆矩阵所需的行操作序列。
您还可以使用 SymPy 的 rref() function 在一次调用中同时获得矩阵的行阶梯形式和 pivot 列。
还值得注意的是,使用 numpy 和 scipy 之类的库具有逆矩阵 function,您可以使用它来获取矩阵的逆矩阵而无需手动执行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.