Presentation is loading. Please wait.

Presentation is loading. Please wait.

第6章 解线性方程组的迭代法 直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3

Similar presentations


Presentation on theme: "第6章 解线性方程组的迭代法 直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3"— Presentation transcript:

1 第6章 解线性方程组的迭代法 直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3
第6章 解线性方程组的迭代法 直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3 数量级,存储量为n2量级,这在n比较小的时候还比较合适(n<400),但是对于现 在的很多实际问题,往往要我们求解很大的n的矩阵,而且这些矩阵往往是系数矩阵 就是这些矩阵含有大量的0元素。对于这类的矩阵,在用直接法时就会耗费大量的时 间和存储单元。因此我们有必要引入一类新的方法:迭代法。 迭代法具有的特点是速度快。与非线性方程的迭代方法一样,需要我们构造一 个等价的方程,从而构造一个收敛序列,序列的极限值就是方程组的根

2 对方程组 做等价变换 如:令 ,则 则,我们可以构造序列 同时: 所以,序列收敛 与初值的选取无关

3 定义6.1:(收敛矩阵) 定理: 矩阵G为收敛矩阵,当且仅当G的谱半径<1 知,若有某种范数 则,迭代收敛

4 6.1 Jacobi迭代

5 格式很简单:

6 Jacobi迭代算法 1、输入系数矩阵A和向量b,和误差控制eps 2、x1={0,0,…..,0} , x2={1,1,…..,1} //赋初值 3、while( ||A*x2-b||>eps) { x1=x2; for(i=0;i<n;i++) { x2[i]=0; for(j=0;j<i;j++) { x2[i] += A[i][j]*x1[j] } for(j=i+1;j<n;j++) { x2[i]=-(x2[i]-b[i])/A[i][i] 4、输出解x2

7 迭代矩阵

8 易知,Jacobi迭代有

9 收敛条件 迭代格式收敛的充要条件是G的谱半径<1。对于Jacobi迭代,我们有一些保证收敛 的充分条件 定理:若A满足下列条件之一,则Jacobi迭代收敛。 ① A为行对角占优阵 ② A为列对角占优阵 ③ A满足

10 证明: ② A为列对角占优阵,则AT为行对角占优阵,有 #证毕

11 6.2 Gauss-Seidel迭代 在Jacobi迭代中,使用最新计算出的分量值

12 Gauss-Siedel迭代算法 1、输入系数矩阵A和向量b,和误差控制eps 2、x2={1,1,…..,1} //赋初值 3、while( ||A*x2-b||>eps) { for(i=0;i<n;i++) { for(j=0;j<i;j++) { x2[i] += A[i][j]*x2[j] } for(j=i+1;j<n;j++) { x2[i]=-(x2[i]-b[i])/A[i][i] 4、输出解x2

13 迭代矩阵 是否是原来的方程的解? A=(D-L)-U

14 收敛条件 迭代格式收敛的充要条件是G的谱半径<1。我们看一些充分条件 定理:若A满足下列条件之一,则Jacobi迭代收敛。 ① A为行或列对角占优阵 ② A对称正定阵

15 有例子表明:Gauss-Seidel法收敛时,Jacobi法可能不收敛;而Jacobi法收敛时, Gauss-Seidel法也可能不收敛。
证明: 设G的特征多项式为 ,则 为对角占优阵,则 为对角占优阵 #证毕 注:二种方法都存在收敛性问题。 有例子表明:Gauss-Seidel法收敛时,Jacobi法可能不收敛;而Jacobi法收敛时, Gauss-Seidel法也可能不收敛。

16 1、预处理 2、格式

17 3、结果

18 1、Jacobi迭代 特征值为 2、Gauss-Siedel迭代

19 6.3 松弛迭代 可以看作在前一步上加一个修正量。若在修正量前乘以一个因子 ,有 对Gauss-Seidel迭代格式

20 写成分量形式,有

21 松弛迭代算法 1、输入系数矩阵A、向量b和松弛因子omega,和误差控制eps 2、x2={1,1,…..,1} //赋初值 3、while( ||A*x2-b||>eps) { for(i=0;i<n;i++) { temp-0 for(j=0;j<i;j++) { temp += A[i][j]*x2[j] } for(j=i+1;j<n;j++) { temp = -(x2[i]-b[i])/A[i][i] x2[i] = (1-omega)*x2[i]+omega*temp 4、输出解x2

22 迭代矩阵 是否是原来的方程的解? 定理: 松弛迭代收敛 定理: A对称正定,则松弛迭代收敛

23 SOR方法收敛的快慢与松弛因子的选择有密切关系.但是如何选取最佳松弛因子,即选取=*,使(£)达到最小,是一个尚未很好解决的问题.实际上可采用试算的方法来确定较好的松弛因子.经验上可取1.4<<1.6.

24 定理 若SOR方法收敛, 则0<<2.
|det(£)| =|12… n|<1 det(£) =det[(D-L)-1 ((1-)D+U)] =det[(E-D-1L)-1 ]det[(1-)E+D-1U)] =(1-)n 于是 |1-|<1, 或 0<<2

25 定理 设A是对称正定矩阵, 则解方程组Ax=b的SOR方法,当0<<2时收敛.
证 设是£的任一特征值, y是对应的特征向量, 则 [(1-)D+U]y= (D-L)y 于是 (1-)(Dy,y)+(Uy,y)=[(Dy,y)-(Ly,y)]

26 由于A=D-L-U是对称正定的, 所以D是正定矩阵, 且L=UT. 若记(Ly,y)=+i, 则有
(Dy,y)=>0 (Uy,y)=(y,Ly)=(Ly,y) =-i 0<(Ay,y)=(Dy,y)-(Ly,y)-(Uy,y) =-2 所以

27 当0<<2时,有 (-+)2-(-)2= (2-)(2-) =  (2-)(2-)<0 所以||2<1, 因此(£)<1,即S0R方法收敛. 设是B的任一特征值, y是对应的特征向量, 则 (L+U)y=Dy 于是 (Ly,y)+(Uy,y)=(Dy,y) 可得 =2/

28 当A对称正定时,即2-<0时,||<1 2+>0
而 ((2D-A)y,y)=(Dy,y)+(Ly,y)+(Uy,y) =+2 即,当A对称正定时,Jacobi迭代法收敛2D-A正定.


Download ppt "第6章 解线性方程组的迭代法 直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3"

Similar presentations


Ads by Google