与没有对称性的矩阵相比,求解对称矩阵是否有任何数值优势?

计算科学 有限差分 对称
2021-12-12 07:43:17

我将有限差分法应用于 3 个耦合方程组。其中两个方程不耦合,但第三个方程与另外两个方程耦合。我注意到通过改变方程的顺序,比如说(x,y,z)(x,z,y)系数矩阵变得对称。

这样做有什么好处吗?例如,就解决方案的稳定性或效率/速度而言。矩阵是高度稀疏的,如果这很重要,非零项沿着中心对角线。

1个回答

绝对地!

首先,一些线性代数系统足够聪明,只存储矩阵的一半,这可以为你节省大量内存。但即使不是这种情况,数值线性代数中的各种算法也会利用对称性。

例如,给定一个对称矩阵,任何特征求解器都会立即知道所有特征值都是实值,并且求解方法可能会使用该事实。

很多人会想到的一个典型的东西就是方程组求解的 Krylov 子空间方法Ax=b:如果你的问题是对称的,你知道你不需要像GMRES这样的非对称问题的方法,并且可以驻留在像MINRES这样的内存密集度较低的东西,或者 - 如果你的矩阵也是正定的 - CG。不过,Krylov 方法的收敛行为不受排列的影响,因此您甚至可以对未排列的系统使用对称方法。

另一个例子是矩阵的分解A=LU进入下三角部分L和一个上三角部分U. 如果A是对称的,那么A=LLT,并且您只需要存储一个因子(Cholesky 分解)。