为什么α我+一个αI+A可以改善 SPD 矩阵的条件数一种A?

计算科学 有限差分 条件数
2021-12-26 17:45:25

对于具有二维狄利克雷边界条件的泊松方程:

Δu=f,
使用FDM(中心差分)或 FEM离散化,我们可以获得如下线性方程组 的SPD系统:
Ax=b.
如果步长是h,则矩阵的谱条件数AO(h2).

一个结论是“给定一个正常数α>0,然后矩阵αI+A条件良好”。为什么要添加一个正项α到矩阵的主对角线A可以提高矩阵的条件数A?

因为在我看来,新的矩阵条件数是

cond2(αI+A)=α+λmax(A)α+λmin(A)>λmax(A)λmin(A)=cond2(A).

但数值结果对比如下:

clc;clear;
n=10;
A=gallery('poisson',n);
cond(full(A))

n=10;
A=gallery('poisson',n);
cond(full(A)+speye(n^2))

n=20;
A=gallery('poisson',n);
cond(full(A)+speye(n^2))

数值结果如下:


ans =

   48.3742


ans =

    7.6056


ans =

    8.5723

的条件数小于 (48.3742 > 7.6056)。I+AA

此外,当系统规模增加时,条件数几乎没有增加(从 7.6056 到 8.5723),这似乎矩阵无关为什么会发生这种情况?它真的独立于步长吗?αI+Ahh

1个回答

不等式不成立,因为事实上,在这种情况下,反向不等式成立。因此,这里没有矛盾。α+λmax(A)α+λmin(A)>λmax(A)λmin(A)λmax(A)>1>λmin(A)>0α>0

编辑:从评论中,我意识到这个问题还没有完全回答。

另外, .κ(A+αI)=α+λmax(A)α+λmin(A)=αλmax(A)+1αλmax(A)+λmin(A)λmax(A)=αλmax(A)+1αλmax(A)+O(h2)

因此,对于足够小的和足够大的,我们有可以看到变化很小。例如,hακ(A)1+λmax(A)αλmax(A)

poisson = @(n) full(gallery('poisson',n,n));
max(abs(eig(poisson(10))))

答案=

7.837971894457977

max(abs(eig(poisson(40))))

答案=

7.988263204734964

max(abs(eig(poisson(60))))

答案=

7.994696359539318