没有封装的快速矩阵求逆

Pau*_*ger 7 python matrix matrix-inverse

假设我有一个方阵 M.假设我想反转矩阵M.

我试图使用gmpy2中的fractions mpq类作为我的矩阵的成员.如果您不熟悉这些分数,它们在功能上与python的内置包类似.唯一的问题是,除非我将它们从分数形式中取出,否则没有包会反转我的矩阵.我需要分数形式的数字和答案.所以我必须编写自己的函数来反转. MfractionsM

我可以编程已知的算法,例如高斯消除.但是,性能是一个问题,所以我的问题如下:

有没有计算速度快的算法可以用来计算矩阵的逆矩阵M

小智 4

关于这些矩阵你还知道什么吗?例如,对于对称 正定矩阵,Cholesky分解允许您比您提到的标准 Gauss-Jordan 方法更快地求逆。

对于一般矩阵求逆,Strassen 算法给出的结果比 Gauss-Jordan 更快,但比 Cholesky 慢。

看起来您想要精确的结果,但如果您对近似反演很满意,那么有一些算法可以比前面提到的算法更快地近似反演。

但是,您可能想问自己是否需要特定应用程序的整个矩阵逆。根据您正在执行的操作,使用其他矩阵属性可能会更快。根据我的经验,计算矩阵逆是不必要的步骤。

我希望这有帮助!