GMRES:不完全 Krylov 子空间

计算科学 克雷洛夫法 格瑞斯
2021-12-07 23:49:09

在每次迭代iGMRES 方法,计算现有 Krylov 子空间的单个新正交向量。如果该向量的范数为 0(或接近 0),则子空间是“完整的”,我们应该能够计算收敛解。理论上,这发生在我们有N正交向量(其中N是大小A)。

然后可以使用计算解决方案

x=x0+Vy
在哪里V是上面计算的正交向量矩阵。[x0(N×1),V(N×N)y(N×1)]。

我的问题是:如果算法只找到P<N正交向量?如何完成 Krylov 子空间以及如何计算x=x0+Vy如果V(N×P)不是方阵吗?

2个回答

我不确定我是否理解这个问题,但是在 GMRES 中,您为空间建立了一个正交基Km for m=1N. 在这个空间中,通用向量可以写成:

x=x0+Vmy
在哪里:

  • x0RN
  • dim(Vm)=N×m
  • yRm,dim(y)=m×1

在各个步骤中,算法计算唯一向量 x0+Km使得最小化

||bAx||2=||bA(x0+Vmy)||2

现在的想法,就像在其他 Krilov 方法中一样,是在一个值之后获得一个好的近似值m<<N, 如果m=N然后Km=RN整个空间,你就有了确切的解决方案。

笔记: y,V有一个不同的维度尊重你的问题,这是关键,即如果没有问题P<N,这是正常情况,因为矩阵和向量的维数不同。

更多细节的一个很好的参考是:

  • 萨德,优素福。稀疏线性系统的迭代方法。工业与应用数学学会,2003 年。

如果A可逆且 Krylov 子空间v,Av,A2v,之后停止扩展m步,然后 GMRES(和其他合理的 Krylov 方法)最多收敛到精确解m步骤(假设精确算术)。

证明:

的最小多项式A是最小度数q这样q(A)=0. 总是mn.

http://www.maths.lth.se/na/courses/NUM115/NUM115-05/krylov.pdf p.~5 我们得到:

引理m是非奇异的最小多项式的次数ACn×n. 然后A1=i=0m1αiAi. 因此,A1b=i=0m1αiAibKm. 而且,m=imi, 在哪里mi是特征值的最大 Jordan 块的大小i.

根据引理,那么xKm,QED。

不过,一般m接近n(和m=n几乎所有的随机矩阵),所以这不是 GMRES 好的原因。

根据我表面的 Matlab 测试,Krylov 并不比随机子空间好,因为随机A, b. 因此,GMRES(和其他 Krylov 方法)需要预处理,除非矩阵恰好是好的。然而,在实践中,它通常或至少经常这样做。然而,预处理通常对于足够快的收敛至关重要。

收敛取决于特征值。如果特征值处于紧束中(或大多数特征值与b位于许多紧束中),然后 Krylov 方法Ax=b往往运作良好。

然而,一些方法,如 IDR(s) 或 BiCGSTAB 不喜欢实矩阵的非常非实特征值(然后分别使用 IDRstab 或 BiCGSTAB(l))。IDR* 优于 BiCGSTAB,如果A+A是非常不确定的。有关选择方法的更多信息,请参阅https://scicomp.stackexchange.com/a/34521/34228