JA线性方程组迭代_第1页
JA线性方程组迭代_第2页
JA线性方程组迭代_第3页
JA线性方程组迭代_第4页
JA线性方程组迭代_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、§4.2 线性方程组的迭代解2.1 Jacobi迭代法算法:2.2 迭代的收敛条件 1. 向量的范数 2. 矩阵的范数本段一开始的例题法1中出现的M不满足定理4.5,而法2中出现的M满足定理条件.> restart;> with(linalg):Warning, the protected names norm and trace have been redefined and unprotected> Jacobi:=proc(A,b,x0,m)> local n,x,X0,a1,a2,k,i,j;> n:=vectdim(col(A,1);>

2、X0:=x0;> x:=vector(0,0,0,0);> for k from 1 to m do> for i from 1 to n do> a1:=0;a2:=0;> for j by 1 from 1 to i-1 do> a1:=a1+Ai,j*X0j;> end do;> for j by 1 from i+1 to n do> a2:=a2+Ai,j*X0j;> end do;> xi:=(bi-a1-a2)/Ai,i;> end do;> X0:=x;> print(map(evalf,x);

3、> end do;> end:> A:=matrix(4,4,5,-1,-1,-1,-1,10,-1,-1,-1,-1,5,-1,-1,-1,-1,10):> b:=vector(-4,12,8,34):> x0:=vector(0,0,0,0):> Jacobi(A,b,x0,6);精确结果为(1,2,3,4)。2.3 Gauss-Seidel迭代法在Jacobi迭代法中,有一个明显的特点,就是每次迭代右端的变量的值全部用前一次迭代值来代换,所以Jacobi迭代,又称为同步迭代法.可以设想,如果迭代序列收敛,则将迭代格式(3)中第一个方程计算出来的 关于G

4、auss-Seidel迭代法的收敛结论,除了用定理4.4与4.5外,还可由方程组的系数矩阵的某些特征来判断迭代是不收敛:(1)若A为严格对角占优矩阵(各行非对角元绝对值之和小于对角元绝对值的矩阵),则,且Jacobi迭代法与Gauss-Seidel迭代法都收敛.(2)对A为对称正定阵,则且Gauss-Seidel迭代法收敛.(Jacobi?)需进一步说明,某些方程对于Jacobi迭代收敛,而对Gauss-Seidel迭代不收敛,而某些对于Gauss-Seidel收敛,但用Jacobi迭代却不收敛,但,对待实际问题可用上述两个结论加以判断,或交换方程的次序使迭代法收敛. > restart

5、;> with(linalg):> GaussSeidel:=proc(A,b,x0,m)> local n,x,X0,a1,a2,k,i,j;> n:=vectdim(col(A,1);> X0:=x0;> x:=vector(0,0,0,0);> for k from 1 to m do> for i from 1 to n do> a1:=0;a2:=0;> for j by 1 from 1 to i-1 do> a1:=a1+Ai,j*xj;> end do;> for j by 1 from i+1 to

6、 n do> a2:=a2+Ai,j*X0j;> end do;> xi:=(bi-a1-a2)/Ai,i;> end do;> X0:=x;> print(k);print(map(evalf,x);> end do;> end:> A:=matrix(4,4,5,-1,-1,-1,-1,10,-1,-1,-1,-1,5,-1,-1,-1,-1,10):> b:=vector(-4,12,8,34):> x0:=vector(0,0,0,0):> GaussSeidel(A,b,x0,6);精确结果为(1,2,3,4)。

7、2.4 逐次超超松弛迭代法逐次超松驰迭代法是Gauss-Seidel迭代法的一种加速方法,是解大型稀疏矩阵方程组的有效方法之一,它具有计算公式简单,程序设计容易,占用计算机内存比较少之优点,但需要选择好的加速因子(即最佳松弛因子).现将迭代法(5)改写成> restart;> with(linalg):Warning, the protected names norm and trace have been redefined and unprotected> SOR:=proc(A,b,x0,m)> local w,n,x,X0,a1,a2,k,i,j;> w:

8、=1.2;> n:=vectdim(col(A,1);> X0:=x0;> x:=vector(0,0,0,0);> for k from 1 to m do> for i from 1 to n do> a1:=0;a2:=0;> for j by 1 from 1 to i-1 do> a1:=a1+Ai,j*xj;> end do;> for j by 1 from i+1 to n do> a2:=a2+Ai,j*X0j;> end do;> xi:=(1-w)*X0i+w(bi-a1-a2)/Ai,i;> end do;> X0:=x;> print(map(evalf,x);> end do;> end:> A:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论