最近,我学习了关于gmres迭代的课程,这可能是一般大型稀疏线性方程组Ax=b最流行的迭代方法。并且收敛是在矩阵A可对角化的条件下获得的,但在实际应用中,很少有这样好的可对角化矩阵A出现这种情况。那么, GMRES迭代还有其他收敛结果吗?或者换句话说,当我们选择一个预处理器M来求解我们应该考虑哪些方面来保证这个预处理的 GMRES更好的收敛性?因为
一个奇怪的例子如下:
用,我们设置使用 matlab 命令gmres解决此系统。我们将此结果与 matlab A\b进行比较,但 gmres 失败(我的 CPU 内存为 8GB),A\b
下面是我的简单测试matlab代码
% just a simple test
clc;clear;
rng(0)% fix the random number
n=1e+5;
c = rand(n,1);% c_i
A = spdiags([ones(n,1) c],[0 1],n,n);
b = A*ones(n,1);
% mdirect method
A\b;
% iterative method
x=gmres(A,b,[],[],n);