文档详情

6章解线方程组的迭代法.ppt

发布:2017-03-20约2.84千字共32页下载文档
文本预览下载声明
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第6章 解线性方程组的迭代法 直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3数量级,存储量为n2量级,这在n比较小的时候还比较合适(n1000 , 1G/s , 15秒 , 8M),但是对于现在的很多实际问题,往往要我们求解很大的n的矩阵,而且这些矩阵往往是稀疏矩阵就是这些矩阵含有大量的0元素。对于这类的矩阵,在用直接法时就会耗费大量的时间和存储单元。因此我们有必要引入一类新的方法:迭代法。 迭代法具有的特点是速度快。与非线性方程的迭代方法一样,需要我们构造一个等价的方程,从而构造一个收敛序列,序列的极限值就是方程组的根 对方程组 做等价变换 如:令 ,则 则,我们可以构造序列 若 同时: 所以,序列收敛 与初值的选取无关 定义:(收敛矩阵) 定理: 矩阵G为收敛矩阵,当且仅当G的谱半径1 由 知,若有某种范数 则,迭代收敛 6.1 Jacobi迭代 格式很简单: Jacobi迭代算法 1、输入系数矩阵A和向量b,和误差控制eps 2、x1={0,0,…..,0} , x2={1,1,…..,1} //赋初值 3、while( ||x1-x2||eps) { x1=x2; // x1 是第k步,x2是第k+1步 for(i=0;in;i++) { x2[i]=0; for(j=0;ji;j++) { x2[i] += A[i][j]*x1[j] } for(j=i+1;jn;j++) { x2[i] += A[i][j]*x1[j] } x2[i]=-(x2[i]-b[i])/A[i][i] } } 4、输出解x2 迭代矩阵 易知,Jacobi迭代有 收敛条件 迭代格式收敛的充要条件是G的谱半径1。对于Jacobi迭代,我们有一些保证收敛的充分条件 定理:若A满足下列条件之一,则Jacobi迭代收敛。 ① A为行对角占优阵 ② A为列对角占优阵 ③ A满足 证明: ② A为列对角占优阵,则AT为行对角占优阵,有 #证毕 6.2 Gauss-Seidel迭代 在Jacobi迭代中,使用最新计算出的分量值 是否是原来的方程的解? Gauss-Siedel 迭代算法 1、输入系数矩阵A和向量b,和误差控制eps 2、x1={0,...,0}, x2={1,1,…..,1} //赋初值 3、while( ||x1-x2||eps) { x1=x2; //x1 是第k步,x2是第k+1步 for(i=0;in;i++) { t=0.0 for(j=0;ji;j++) { t += A[i][j]*x2[j] } for(j=i+1;jn;j++) { t += A[i][j]*x2[j] } x2[i]=-(t-b[i])/A[i][i] } } 4、输出解x2 迭代矩阵 记 迭代矩阵 A=(D+L)-(-U) 收敛条件 迭代格式收敛的充要条件是G的谱半径1。我们看一些充分条件 定理:若A满足下列条件之一,则Gauss-Seidel迭代收敛。 ① A为行或列对角占优阵 ② A对称正定阵 证明: 设G的特征多项式为 ,则 为对角占优阵,则 时 为对角占优阵 即 即 #证毕 注:二种方法都存在收敛性问题。 有例子表明:Gauss-Seidel法收敛时,Jacobi法可能不收敛;而Jacobi法收敛时, Gauss-Seidel法也可能不收敛。 1、预处理 2、格式 3、结果 1、Jacobi迭代 特征值为 2、Gauss-Seidel迭代 6.3 松弛迭代 记 则 可以看作在前一步
显示全部
相似文档