计算具有非常不同大小的条目的密集矩阵的逆

计算科学 线性代数 稳定
2021-11-29 00:15:16

我需要计算密集矩阵的逆矩阵,其中一些元素的值高达 1e9 和一些在 1e2 左右。最好的方法是什么?

笔记:

  • 我更关心答案的精度,而不是最小化计算时间。

  • 我明确需要找到inverse任何线性系统的解决方案而不是解决方案Au=b

大小:矩阵的大小低于100×100

公式3,3 阶 Pade 逼近的公式可以表示为:

(120In×n+60A+12A2+A3)×(120In×n60A+12A2A3)1

在哪里,

A是要找出其指数的矩阵。

这是 3,3 阶的 Pade 近似值。我正在尝试实现 13,13 阶的 Pade 近似,其中In×nis 17643225600

实现:我正在实现 Pade Approximation 来查找矩阵的指数,我需要在其中找到“分母”矩阵的逆矩阵。

1个回答

根据矩阵的条件数,计算矩阵指数的 Padé 近似值是非常病态的,尤其是对于这样的高阶。如果一个问题是病态的,那么再多的数学技巧也无法实现稳定的计算;但是,通常您可以将问题更改为条件更好的问题(并且仍然会导致所需的结果)。做什么取决于你的任务的确切性质:AeA

  • 如果目标是矩阵指数的近似值,请查看 Clive Moler 和 Charles van Loan 的开创性论文计算矩阵指数的 19 种可疑方法中的一种更好的方法,SIAM Rev., 45(1), 3-49 . (特别是第 10 页的 #2 讨论了 Padé 近似,您应该考虑缩放和平方方法 #3。)

  • 如果它必须是 Padé 近似,则有更强大的方法可以通过 SVD 而不是直接反演来计算它;参见 Pedro Gonnet、Stefan Güttel 和 Lloyd N Trefethen 的论文Robust Padé approximation via SVD , SIAM Rev., 55(1), 101–117。(本文处理的是实函数的 Padé 逼近,而不是矩阵函数,因此需要做一些进一步的工作。)

  • 否则,对于您正在查看的矩阵大小和类型,并且由于您不太关心性能,我认为没有比使用高质量库中的直接求解器(例如,LU 分解)更好的方法求解每个单位向量线性系统并设置根据软件框架,您应该使用可用的最高精度数据类型来最小化舍入误差。eii=1,NBmi=eiM=[m1,,mN]