假设我有一个正方形matrixM
。假设我想invert矩阵M
。在
我试图使用gmpy2中的分数mpq
类作为矩阵M
的成员。如果您不熟悉这些部分,它们在功能上类似于python的内置包^{}。唯一的问题是,没有任何包会反转我的矩阵,除非我把他们从分数形式。我需要分数形式的数字和答案。所以我必须编写自己的函数来反转M
。在
我可以编写一些已知的算法,例如gaussian elimination。但是,性能是个问题,所以我的问题是:
有没有一种计算速度快的算法可以用来计算矩阵的逆矩阵M
?
Tags:
你对这些矩阵还有什么了解吗?例如,对于symmetricpositive definite矩阵,Cholesky分解可以比您提到的标准Gauss-Jordan方法更快地进行反转。在
对于一般的矩阵求逆,Strassen algorithm将给出比Gauss Jordan更快的结果,但比Cholesky慢。在
看起来你想要精确的结果,但是如果你对近似逆很满意,那么有一些算法比前面提到的算法更快地逼近逆。在
但是,您可能想问问自己是否需要针对特定应用程序的整个矩阵求逆。根据您所做的,使用另一个矩阵属性可能会更快。根据我的经验,计算矩阵求逆是一个不必要的步骤。在
我希望这有帮助!在
相关问题 更多 >
编程相关推荐