假设我有一个正方形的矩阵M。 假设我想要求逆矩阵M。我正在尝试在我的矩阵M中使用gmpy2中的分数mpq类作为成员。 如果您不熟悉这些分数,它们在功能上类似于Python内置包fractions。 唯一的问题是,除非我将它们从分数形式中取出,否则没有软件包可以求出我的矩阵的逆。 我需要以分数形式获得数字和答案。 因此,我必须编写自己的函数来求矩阵M的逆。 我可以编写已知的算法,比如高斯消元法。然而,性能是一个问题,因此我的问题如下: 有没有计算速度快的算法可以用来计算矩阵M的逆矩阵?
你对这些矩阵还有什么了解吗?例如,对于对称 正定 矩阵,Cholesky 分解比你提到的标准高斯-约旦方法更快地进行反演。 对于一般矩阵反演,Strassen算法将给出比高斯-约旦更快的结果,但比Cholesky慢。 看起来你想要精确的结果,但如果你可以接受近似反演,那么有算法比之前提到的算法更快地逼近反演。 然而,你可能需要问自己,是否需要整个矩阵的反演来满足你的特定应用。根据你所做的事情,使用另一个矩阵属性可能更快。在我的经验中,计算矩阵的反演是一个不必要的步骤。 希望这有所帮助!
O(n)
,所以除非反演算法比O(n)
更好,否则它不会影响时间复杂度。 - Artyer