JA42线性方程组迭代.docx
- 文档编号:18594012
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:14
- 大小:769.97KB
JA42线性方程组迭代.docx
《JA42线性方程组迭代.docx》由会员分享,可在线阅读,更多相关《JA42线性方程组迭代.docx(14页珍藏版)》请在冰点文库上搜索。
JA42线性方程组迭代
§4.2线性方程组的迭代解
2.1Jacobi迭代法
算法:
2.2迭代的收敛条件
1.向量的范数
2.矩阵的范数
本段一开始的例题法1中出现的M不满足定理4.5,而法2中出现的M满足定理条件.
>restart;
>with(linalg):
Warning,theprotectednamesnormandtracehavebeenredefinedandunprotected
>Jacobi:
=proc(A,b,x0,m)
>localn,x,X0,a1,a2,k,i,j;
>n:
=vectdim(col(A,1));
>X0:
=x0;
>x:
=vector([0,0,0,0]);
>forkfrom1tomdo
>forifrom1tondo
>a1:
=0;a2:
=0;
>forjby1from1toi-1do
>a1:
=a1+A[i,j]*X0[j];
>enddo;
>forjby1fromi+1tondo
>a2:
=a2+A[i,j]*X0[j];
>enddo;
>x[i]:
=(b[i]-a1-a2)/A[i,i];
>enddo;
>X0:
=x;
>print(map(evalf,x));
>enddo;
>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.3Gauss-Seidel迭代法
在Jacobi迭代法中,有一个明显的特点,就是每次迭代右端的变量的值全部用前一次迭代值来代换,所以Jacobi迭代,又称为同步迭代法.
可以设想,如果迭代序列收敛,则将迭代格式(3)中第一个方程计算出来的
关于Gauss-Seidel迭代法的收敛结论,除了用定理4.4与4.5外,还可由方程组
的系数矩阵的某些特征来判断迭代是不收敛:
(1)若A为严格对角占优矩阵(各行非对角元绝对值之和小于对角元绝对值的矩阵),则
,且Jacobi迭代法与Gauss-Seidel迭代法都收敛.
(2)对A为对称正定阵,则
且Gauss-Seidel迭代法收敛.(Jacobi?
)
需进一步说明,某些方程对于Jacobi迭代收敛,而对Gauss-Seidel迭代不收敛,而某些对于Gauss-Seidel收敛,但用Jacobi迭代却不收敛,但,对待实际问题可用上述两个结论加以判断,或交换方程的次序使迭代法收敛.
>restart;
>with(linalg):
>GaussSeidel:
=proc(A,b,x0,m)
>localn,x,X0,a1,a2,k,i,j;
>n:
=vectdim(col(A,1));
>X0:
=x0;
>x:
=vector([0,0,0,0]);
>forkfrom1tomdo
>forifrom1tondo
>a1:
=0;a2:
=0;
>forjby1from1toi-1do
>a1:
=a1+A[i,j]*x[j];
>enddo;
>forjby1fromi+1tondo
>a2:
=a2+A[i,j]*X0[j];
>enddo;
>x[i]:
=(b[i]-a1-a2)/A[i,i];
>enddo;
>X0:
=x;
>print(k);print(map(evalf,x));
>enddo;
>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)。
2.4逐次超超松弛迭代法
逐次超松驰迭代法是Gauss-Seidel迭代法的一种加速方法,是解大型稀疏矩阵方程组的有效方法之一,它具有计算公式简单,程序设计容易,占用计算机内存比较少之优点,但需要选择好的加速因子(即最佳松弛因子).
现将迭代法(5)改写成
>restart;
>with(linalg):
Warning,theprotectednamesnormandtracehavebeenredefinedandunprotected
>SOR:
=proc(A,b,x0,m)
>localw,n,x,X0,a1,a2,k,i,j;
>w:
=1.2;
>n:
=vectdim(col(A,1));
>X0:
=x0;
>x:
=vector([0,0,0,0]);
>forkfrom1tomdo
>forifrom1tondo
>a1:
=0;a2:
=0;
>forjby1from1toi-1do
>a1:
=a1+A[i,j]*x[j];
>enddo;
>forjby1fromi+1tondo
>a2:
=a2+A[i,j]*X0[j];
>enddo;
>x[i]:
=(1-w)*X0[i]+w(b[i]-a1-a2)/A[i,i];
>enddo;
>X0:
=x;
>print(map(evalf,x));
>enddo;
>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]):
>SOR(A,b,x0,6);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JA42 线性方程组