清华大学高等数值分析 第一次实验作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高等数值分析第二次作业 第四题

姓名:---- 学号:------- 时间:11月20日

1、构造例子说明 CG 的数值性态. 当步数 = 阶数时 CG 的解如何? 当 A 的最大特征值远大于第二个最大特征值, 最小特征值远小于第二个最小特征值时方法的收敛性如何?

答:1)构造矩阵如下

首先,构造一个非常病态的矩阵。

构造矩阵的条件数K(A)为1015,可以得到收敛曲线如下图所示

第二种方法构造矩阵(良态):

条件数不大的矩阵也能够使迭代步数大于等于矩阵阶数,构造一个良态的矩阵如下: 使其特征值为等比数列,即

1000

510

i i =λ

由此得到的矩阵A 最大特征值为105,最小为1,的条件数是105,特征值分布如下图

收敛曲线如下图,发现使用CG法仍然可以收敛,但是收敛速度非常缓慢,即使到1000步也难以达到理想的残差,说明即使问题的条件数较小,即良态的,CG方法也可能收敛非常慢。

从上面的结果中可以看出,当矩阵的迭代步数等于阶数时

a.往往收敛曲线不平滑,震荡非常严重,残差的2范数没有最优性;

b.但是方法的相对残差大体上仍然具有下降趋势,最终仍然能够收敛。矩阵的病态性延迟了方

法的收敛。

c.条件数较小的矩阵也会出现收敛缓慢的现象,这与特征值的分布有关。

2)构造矩阵1002阶的A,其中,A的最大的特征值为109,最小特征值为1,其具有如下的特征值分布

图 1 A的特征值分布

该矩阵的条件数k=1011,是个病态问题,结果如下

图 2 A的收敛性态图

代入CG法,得到的收敛曲线如图 2 A的收敛性态图所示。从图中可以看出,一开始,方法残差下降很慢,等到后面,在150步左右,以另一种收敛速度下降。实验结果与理论结果相同。

3)结论:

a.对于非常病态的问题,CG法的迭代次数可能大于等于阶数,残差震荡非常严重,但是大体

趋势仍然是下降的,最终也能够收敛;对于极其病态的问题,CG法也可能无能为力,无法

收敛。

b.对于最大特征值远远大于第二大特征值的情况,收敛曲线出现了两种下降速度,说明特征值

的分布对于CG方法的收敛速度影响很大。

c.

2、对于同样的例子, 比较CG 和Lanczos 的计算结果.

在相同的A下,取b=(1,1,1,1...1)T,x0=(0,0,0...0)T,分别用CG法和Lanczos法求解。停机准则为相对误差小于10-8。将A取以下几种:良态正定矩阵、近似奇异正定矩阵、病态正定矩阵、良态不定矩阵进行实验,结果分别如下:

➢良态的正定问题

取矩阵A的特征值分布如下:

lamda=[1001, 1000:-1:1, 1]

从特征值的分布上可以看出,A的条件数为103,是个良态正定的问题。CG结果如下图

从上图可以看出,对称正定良态问题,CG和Lanczos方法收敛性态几乎一模一样。

➢近似奇异的问题

上一个A矩阵中的一个特征值减小,取为10-3,特征值分布为

从收敛特性上看,对于近似奇异的正定矩阵(数值上不奇异),CG和Lanczos方法得到的结果一致。但是CG的求解速度比Lanczos小很多。

➢病态的正定问题

在以上相同的A(n=1002)的基础上,将最大特征值提高为1e15,则条件数为1e15,是个非常病态的问题,同时使用CG法和Lanczos方法得到的收敛曲线下

从结果中可以看出,对于这个问题,Lanczos可能比CG的迭代次数小,但是,程序的运行时间来看,CG法为2.13s,而Lanczos为7.14s,因此对于正定问题CG法的效率要明显高于Lanczos。

➢良态的不定问题

在以上相同的A的基础上,增加两个负特征值-1和-10,在此基础上,使用CG和Lanczos计算,得到的结果如下

从图中可以看出,虽然问题比较良性,但是也出现了尖峰,即近似中断现象。其中,CG法也能够在没有中断的情况下求解不定问题,但是如果一旦中断,那么无法得到结果。但是Lanczos中断之后,却能够继续进行下去。即使用Lanczos解不定问题的风险更小。

总结:

1)对于正定问题,不论良态还是病态,Lanczos和CG方法求解的结果非常相近,收敛曲线也近

似一致,收敛步数也相差不大,这说明两个方法的原理是一致的。但是CG方法的速度明显

快于Lanczos法。

2)对于不定问题,CG方法也可能收敛,如果收敛,Lanczos方法和CG方法的到的结果也类似

(步数和收敛性态)。但是,如果CG方法一旦中断,前面的所有运算都白费了,是恶性中

断,而Lanczos仍然能够继续。因此,再不定问题中,Lanczos比CG方法的风险小。

3、当A 只有m个不同特征值时, 对于大的m和小的m, 观察有限精度下Lanczos方法如何收敛.

答:对于不同的m值进行实验,得到的结果如下:

当m=20时,取特征值分别为1,2,3,4...20,每个特征值的重数均为60重,得到结果为

两个方法均在20步的时候收敛,即n it≤m。

当m=50时,取特征值分别为1,2,3,4...50,每个特征值的重数均为24重,得到的结果为

在38步左右收敛,CG法与Lanczos方法的收敛速度一致。同样也满足n it≤m。

当m=500时,取特征值分别为1,2,3,4...500,每个特征值的重数均为2重,得到的结果为

从结果中可以看出,迭代120多步就收敛了,而且CG法与Lanczos法的结果一致。同样满足n it≤m。当m=1000时,取特征值分别为1,2,3,4...100,每个特征值的重数均为1重,得到的结果为

经过多次实验,将得到的迭代次数与不同特征值个数的关系做图如下,从图中可以看出,当m很小

相关文档
最新文档