1、第二章,线性方程组的数值解法,线性方程组,对于线性方程组Ax=b, 其中若系数阵A非奇异,则方程组有唯一解.,计算机上求解线性方程组的有效数值方法,直接法直接解法是解线性方程组的重要方法. 它是指 通过有限步的算术运算求出精确解的方法(若计 算过程没有舍入误差). 其基本思想是通过等价 变换将线性方程组化为结构简单、易于求解的形 式,从而求解.,迭代法迭代法的基本思想是用某种极限过程逐次逼近方程组的解的方法,是解线性方程组的重要方法.它具有占有储存单元少、程序设计简单、原始系数矩阵在计算过程中不变的优点,但需考虑收敛性和收敛速度问题.,2.1 向量、矩阵的范数,向量的范数,设Rn为实n维向量空
2、间, Cn为复n维向量空间,记Kn为Rn或Cn , K为实数域R或复数域C. 定义 若Kn上任一向量x,对应一个非负实数x ,满足如下条件 ()非负性:|x|0 且 |x|=0 x=0 ()齐次性:|x|=|x| (K) ()三角不等式|x+y|x|+|y| (x,yKn) 则称x为向量x的一种范数.,常用的向量范数,设x=(x1,x2,xn),1-范数:2-范数:-范数:p-范数,矩阵的范数,记Knn为Rnn或Cnn 定义 若Knn上任一矩阵A=(aij)nn ,对应一个非负实数A ,满足以 下条件: ()非负性: |A|0 且 |A|=0 A=0 ()齐次性:|A|=|A| (K) ()三
3、角不等式: |A+B|A|+|B| (A,BKnn) () |AB|A|B| (A,BKnn) 则称 A为矩阵A的一种范数.,例 对于实矩阵A=(aij)nn是一种矩阵范数,称为矩阵的Frobenius范数, 简称矩阵的F范数.,考虑到矩阵范数总是与向量范数联系在一 起的. 定义 对于给定向量范数和矩阵范数,如果对任何向量xKn和AKnn,都有不等式AxAx 成立,则称所给的矩阵范数与向量范数是相容的.,下面给出一种定义矩阵范数的方法,它 是由向量范数诱导出来的相容范数. 定义 设xKn和AKnn ,且给定一种向量 范数 ,称或 为矩阵A的由向量范数x产生的从属范数或算子 范数. 单位矩阵的任
4、一种从属范数都为1.,由向量1-范数,2-范数, -范数产生的从属 范数分别为 定理 设n阶方阵A ,则 1-范数: 2-范数: ,AH 是A的共轭转置 -范数:,矩阵的谱半径,定义设n阶方阵A的特征值为1,2,n ,则称为A的谱半径(i为i的模). 对于任意从属范数 , (A)|A| 但当A是正规矩阵,即A AH = AH A时,(A)=|A|2 显然若A为实对称矩阵,则(A)=|A|2,范数的有关定理,定理2.1(范数连续性定理) 设f(x)=|x|为Rn上任一向量范数, 则f(x)是x的连续函数. 定理2.2(范数等价性定理) 设|x|s , |x|t为Rn上任意两种向量范数, 则存在常
5、数c1 ,c20,使得c1|x|s|x|t c2|x|s , xRn 定理2.3 向量序列xk收敛于x*的充分且必要条件是|xk-x*|0, k 其中是任一向量范数. 矩阵范数也有相应上述三个定理的结论,例,x= (3,-1,5,8) ,求 解,例,计算方阵的各种常用范数解,AHA的特征方程为(-1)(-8)(-32)=0 所以(AHA)=32 从而,矩阵的条件数,设A为非奇异矩阵,称数为矩阵A的条件数. 条件数与所取范数有关 ,因此有时详细记为,解线性方程组的直接法,2.2 消去法,Gauss消去法,思想:Ax=bBx=d (其中B是上三角阵)求解Bx=dGauss消去法包括消元过程和回代过
6、程两个环节 (一)消元过程,对 k=1,2,(n-1) ,依次计算,(二)回代过程,选列主元的Gauss消去法,Gauss消去法能够进行到底的条件是各步 的主元素 . 另外既使主元素 不 为零,但如果主元素的绝对值很小,用它 作除数,势必造成舍入误差的严重扩散, 以致于方程组的解的精度受到严重影响, 为此引入选主元的方法,选列主元的 具体方法如下:,对方程组Ax=b仍按x1,x2,的顺序依次消元,只是在每一步消元前都增加一步按列选主元的工作,如第k步消元前,就所有 ,取绝对值最大者,设 ,将第l个方程与第k个方程互换位置,这样 成为第k步的主元素,然后进行第k步消元. 每步消元都如此,最后再进
7、行回代过程,得出方程组的解.,全选主元的Gauss消去法,对方程组Ax=b仍按x1,x2,的顺序依次消元,只是在每一步消元前都增加一步全选主元的工作,如第k步消元前,就所有 ,取绝对值最大者, 设 ,将第l个方程与第k个方程互换位置,变元xs,xj互换位置,这样 成为第k步的主元素,然后进行第k步消元. 每步消元都如此,最后再进行回代过程,得出方程组的解.,选列主元的Gauss消去法能压制计算过程中舍入误差的增长,减少舍入误差对计算结果的影响.,例,利用Gauss消去法求解方程组Ax=b, 其中,解 (1)消元过程用矩阵表示为,经三步消元后;原方程组化为同解的上三 角形方程组A(3)x=b(3
8、) . (2)回代过程 对方程组A(3)x=b(3) 自下而上按未知元xi的 下标逆序逐步回代得原方程组的解为x4=-1, x3=2, x2=-1, x1=2, 即x=(2,-1,2,-1),例,用选列主元素的Gauss法解下列方程组解 消元过程用矩阵表示为,得同解上三角方程组回代求解得x4=0,x3=3,x2=2, x1=1, 即x=(1,2,3,0),例,设系数矩阵A=(aij)nn的元素a110 . 经过Gauss 消去法一步以后A化为其中为n-1维列向量,A2为n-1阶方阵. 证明: (1)若A为对称矩阵,则A2也为对称矩阵; (2)若A为严格对角占优矩阵,则A2也是严格对角占优矩阵;
9、 (3)若A为对称的严格对角占优矩阵,则选列主元Gauss消去法就是(顺序)Gauss消去法.,证 (1)经Gauss消元一步后,A2的元素为由于A对称,故 aij=aji ,从而因此A2为对称矩阵.,(2)设A是(按行)严格对角占优矩阵(按列严格对角占优可类似考虑) ,即,因此A2是严格对角占优矩阵. (3)由于A是对称的严格对角占优矩阵所以因而 即第一步消元a11为主元素. 由(1)、(2) 知A2是对称的严格对角占优矩阵. 记,则第二步消元 为主元素. 依次类推,选列主元Gauss消去法就是(顺序)Gauss消去法.,2.3 矩阵三角分解法,A1=L1-1A, b1=L1-1b A2=L
10、2-1A1=L2-1L1-1A, b2=L2-1b1=L2-1L1-1b An-1=Ln-1-1L2-1L1-1A, bn-1=Ln-1-1L2-1L1-1b 记U=An-1=Ln-1-1L2-1L1-1AA=L1L2 Ln-1U= LU,如果A的所有顺序主子式均不为零,则A可唯一分解为A=LU其中L为单位下三角阵,U为上三角阵. 以下讨论中都假设上述条件成立.求解Ax=b求解,Doolittle分解法(直接三角分解法),i)分解 A=LU, 其中L为单位下三角阵,U为上三角阵.即利用矩阵运算比较两边得其分解公式:对k=1,2,3,n,其中,求解Ax=b求解,ii)求解方程组Ly=b,即其计算
11、公式为其中,iii)求解方程组Ux=y,即其计算公式为其中,Doolittle分解法的存储可利用原系数矩阵的存储单元,存储形式,例用Doolittle分解法求解方程组,解 方程组的系数矩阵和右端项分别为,(1)分解A=LU,即(2)求解Ly=b,即解得y=(9, 5,3,-1),求解Ux=y ,即由公式解得x=( 0.5 ,2,3,-1),Crout分解法,i)记D=diag(u11,u22,unn), 其中 是下三角阵,是单位上三角阵.此分解是惟一的.利用矩阵运算比较两边得其分解公式: 对k=1,2,3,n,,求解Ax=b求解,ii)求解方程组 ,即其计算公式为其中,iii)求解方程组x=y
12、,即其计算公式为其中,Crout分解法的存储可利用原系数矩阵的存储单元,存储形式,例 用系数矩阵A的Crout分解求解线性方程组Ax=b.其中,分解 ,即求解方程组 ,得 求解方程组 ,得,Cholesky分解法(平方根法),i)记D=diag(u11,u22,unn), = D-1UA=LU=(LD)(D-1U)=LD (分解惟一) 其中L是单位下三角阵,是单位上三角阵. 如果A是对称正定的,则=L,其中 是下三角阵,称为矩阵的Cholesky分解. 利用矩阵运算比较两边得其分解公式: 对k=1,2,3,n,其中,求解Ax=b求解,ii)求解方程组 ,即其计算公式为其中,iii)求解方程组
13、,即 其计算公式为其中,平方根法是用于解系数矩阵为正定矩阵的线性方程组.,例 用平方根法(Cholesky分解)解方程组解 由于系数矩阵A对称正定,故一定有分解形式 其中 为下三角阵. (1)对系数矩阵进行Cholesky分解 ,即,由公式得解方程组 ,即得 解方程组 ,即得,改进的Cholesky分解法(改进的平方根法),利用矩阵运算比较两边得其分解公式:对k=1,2,3,n,ii)求解方程组Ly=b其中 iii)求解方程组Lx= D-1y其中,例 用改进的平方根法解方程组解系数矩阵是对称的,故可分解为LDLT,设有分解由公式得,解方程组Ly=b ,即得 解方程组Lx= D-1y ,即得,解
14、三对角方程组的追赶法,设方程组Ax=d 它的系数方阵A是一个阶数较高的三对角方阵且满足条件:(i) |b1|c1|0 , (ii) |bn|an|0(iii)|bi| |ai|+|ci| , ai,ci0(i=2,3,n-1),i)对A进行Crout分解利用矩阵运算比较两边推得其分解公式:,i,可由ai, bi ,i-1, 产生,真正需计算的是i.i的递推公式为,求解Ax=d求解,ii)求解方程组 ,即其计算公式为(k=2,3,n),iii)求解方程组x=y,即其计算公式为(k=n-1,n-2, ,2,1),将求系数1 2 n-1及y1 y2 yn的过程称之为追的过程;求xn xn-1 x2
15、x1的过程称之为赶的过程;,2.4 误差分析,Ax=b (1)Ax =b (2) (2)是(1)的近似方程组,研究二者解的近似程度 上面问题相当于研究Ax=b的精确解x与(A+A) (x+x)=b+b 的精确解x+x的差x与扰动A和b的关系,方程组Ax=b 的右端b的扰动对解的影响,设b为b的扰动, 引起解x的扰动为x,则,方程组Ax=b 的系数阵A的扰动对解的影响,设A为A的扰动, 引起解x的扰动为x,则,对于一个确定的线性方程组,系数矩阵的条件数较小(接近1)时,方程组是良态的;反之,条件数较大(1)时,则方程组是病态的. 条件数越大,则病态越严重. 条件数的值刻划了方程组病态的程度. 用
16、一个稳定的方法去解一个良态方程组,必然得到精度很高的解. 同样,用一个稳定的方法去解一个病态方程组,结果就可能很差.,2.5 解线性方程组的迭代法,将方程组Ax=b (2.5.1) 改写成等价方程组x=Bx+g (2.5.2)建立迭代格式x(k+1)=Bx(k)+g (k=0,1,2,) (2.5.3)向量x(0)为初始预估解向量,用公式(2.5.3)逐步迭 代求解的方法叫做迭代法.B称为迭代矩阵.如果产生的序列x(k)对于任意初始向量x(0)均收 敛于x*,则称迭代法是收敛的. 显然x(k)的极限x*为方程组(2.5.2)的精确解.,迭代法的误差,记(k)=x(k)-x* (k=0,1,2,
17、) 称为第k步迭代的误差向量.(k+1)=x(k+1)-x* =B(x(k)-x*)=B(k)(k+1)=Bk+1(0) (k=0,1,2,) 其中(0)=x(0)-x*为初始误差向量. 考察收敛性,就要研究B在什么条件下(k)0 (k) ,即就要研究B满足什么条件时有Bk0(k).,迭代法的收敛性,定理 设BKnn, 的充分必要条件是(B)1. 定理(迭代法的基本收敛定理)迭代过程x(k+1) =Bx(k) +g 对于任意初始向量x(0)及右端向量g均收敛的充分 必要条件是迭代矩阵B的谱半径(B)1, 并且 (B) 愈小,收敛速度愈快. 由此可知:迭代法的收敛性与收敛速度与迭代矩阵B有 关,
18、而与右端向量g和初始向量x(0)无关.,迭代法的误差估计,定理 设x*为方程组Ax=b的精确解. 若迭代法xk+1) =Bx(k) +g 的迭代矩阵B满足B1, 其中.是某种算子范数,则 对于任意的初始向量x(0)与右端向量g迭代法收敛, 且 有如下两个误差估计式:(1) (2.5.4)(2) (2.5.5),证 (B)B1,故对于任意的x(0)与g迭代收敛.x(k+1) - x* =B(x(k) -x*)x(k+1) - x(k) =B(x(k) - x(k-1) ) x(k+1) - x* Bx(k) -x* x(k+1) - x(k) Bx(k) - x(k-1) , 利用x-yx-yB
19、x(k)-x(k-1)x(k+1)-x(k)x(k)-x*-x(k+1)- x*(1-B)x(k) -x* (1)成立.再反复利用x(k+1)- x(k)Bx(k)-x(k-1) 得(2)成立.,基本迭代公式,将方程组Ax=b的系数A分解成A=L+D+U 其中D=diag(a11,a22,ann) ,L和U分别是A的 对角线下方元素和上方元素组成的严格下三角 阵与严格上三角阵. 即,Jacobi迭代法,若aii0 (i=1,2,n), 将方程组建立迭代格式(k=0,1,2,)称为解方程组Ax=b的Jacobi迭代法.,Jacobi迭代法的分量形式 若aii0,将方程组改写为建立迭代格式,Jac
20、obi迭代法,Jacobi迭代法矩阵形式 若aii0 (i=1,2,n), 即D非奇异,将方程组Ax=b 改写成Dx=-(L+U)x+bx=-D-1(L+U)x+D-1b 建立迭代格式x(k+1)=-D-1(L+U)x(k)+D-1b (k=0,1,2,) 称为解方程组Ax=b的Jacobi迭代法.,迭代矩阵BJ=-D-1(L+U)=E-D-1A,Gauss-Seidel迭代法,Gauss-Seidel迭代法分量形式Gauss-Seidel迭代法矩阵形式将方程组Ax=b,改写成(D+L)x=-Ux+bx=-(D+L)-1Ux+(D+L)-1b 建立迭代格式x(k+1)=-(D+L)-1Ux(k
21、)+(D+L)-1b (k=0,1,2,) 称为解方程组Ax=b的Gauss-Seidel迭代法. 迭代矩阵BG=-(D+L)-1U,超松弛迭代法(SOR方法),由Gauss-Seidel迭代法得由此得公式即 称为超松弛迭代法(SOR方法),其中为松弛因子. 超松弛法的矩阵表示为当 =1时,就是Gauss-Seidel迭代法.,定理 超松弛法收敛的必要条件为02 证 设其迭代矩阵B的特征值为1,2, n , 由于迭代收敛,故有(B)1 从而又因此|1-| 1 ,即02,关于解某些特殊方程组迭代法的收敛性,定理 若线性方程组Ax=b的系数矩阵A为对称正定阵,则Gauss-Seidel迭代法收敛.
22、 定理 若线性方程组Ax=b的系数矩阵A为对称正定阵,则当02时, SOR方法收敛.,称方阵A=(aij)nn 为严格对角占优的,如果或定理 若线性方程组Ax=b的系数方阵A=(aij)nn是按行(或按列)严格对角占优的,则Jacobi迭代法和Gauss-Seidel迭代法都是收敛的.,Jacobi迭代矩阵由于A是按行严格对角占优,即故从而Jacobi迭代收敛,设方程组的精确解为Gauss-Seidel迭代公式为两式相减得,令 ,设则 整理得由于系数阵A是按行严格对角占优的,故,令 , 从而所以Gauss-Seidel迭代 法收敛.,定理 若线性方程组Ax=b的系数矩阵A为严格对角占优矩阵,则
23、当01时,SOR方法收敛. 定理 设A是具有正对角线元素的对称矩阵,则解线性方程组Ax=b的Jacobi迭代法收敛的充分必要条件是A和2D-A都为对称正定阵.,Jacobi迭代法 收敛的充要条件:(BJ)1 A和2D-A都为对称正定阵(A是具有正对角线元素的对称矩阵).充分条件: BJ1 A是严格对角占优的 Gauss-Seidel迭代法 收敛的充要条件:(BG)1 充分条件: BG1 A是严格对角占优的A为对称正定阵 SOR方法 收敛的充要条件:(B)1 充分条件: B1 A是严格对角占优的,且01A为对称正定阵, 02必要条件:02,例1 分别用Jacobi迭代法与Gauss-Seidel
24、迭代法求解方程组取初值x(0)=(0,0,0),解,(1)系数阵严格对角占优,故Jacobi迭代法与Gauss-Seidel迭代均收敛. 法用Jacobi迭代法,其迭代法的分量形式为,Jacobi迭代法的矩阵形式为x(k+1)=(E-D-1A)x(k)+D-1b 即,取初值x(0) =(0,0,0),迭代可得迭代7次,得近似值,(2)用Gauss-Seidel迭代法,其迭代法的分量形式为,其迭代法的矩阵形式为 x(k+1)=-(D+L)-1Ux(k)+(D+L)-1b (k=0,1,2,) 即,取初值x(0) =(0,0,0),迭代可得迭代5次,得近似值,例2 对方程组分别讨论用Jacobi迭
25、代法和Gauss-Seidel迭 代法求解的收敛性.,解 系数矩阵则Jacobi迭代法的迭代矩阵为其特征方程为因此有1=2=3=0,即(BJ)=01,所以Jacobi迭代法收敛.,对于Gauss-Seidel迭代法,其迭代矩阵为其特征方程为因此有1=0,2=3=2 ,即(BJ)=21 ,所以Gauss-Seidel 迭代法发散.,例3 设方程组Ax=b中分别讨论用Jacobi迭代法、Gauss-seidel迭代法和 逐次超松驰迭代法(02)求解的收敛性.,解 显然A是对称矩阵. 现考虑A的各阶顺序主子式从而A是对称正定阵,故Gauss-Seidel迭代法收敛. 又由已知02 ,且A对称正定,故
26、SOR法也是收敛的.,但因的3=|2D-A|=0, 所以2D-A是非正定阵,Jacobi迭 代法不收敛,也即发散.,例 分别用Jacobi迭代法法和Gauss-Seidel迭代法求解方程组取初值x(0)=(0,0,0),需要迭代多少次,才能 保证各分量的误差绝对值小于10-6?,解 Jacobi迭代公式的分量形式为经一次迭代得x(1)=(6/5,3/2,2),则x(1)-x(0)=2 迭代矩阵GJ=E-D-1A,|GJ|=1/3. 由公式(2.5.5)得要保证各分量误差绝对值小于10-6,需要迭代14次.,Gauss-Seidel迭代法的迭代公式的分量形式为取初值x(0)=(0,0,0),经一
27、次迭代得 x(1)=(1.2,1.35,2.11),则x(1)-x(0)=2.11.由例1计算 结果知Gauss-seidel迭代法的迭代矩阵 BG=-(D+L)-1U, |BG|=0.25.由公式(2.5.5)可得即要保证各分量误差绝对小于10-6,只要迭代11次.,2.6 梯度法,本节假设ARnn为对称正定矩阵. 把线性方程组Ax=b 的惟一解x*看作是使自变量为x(向量)的某 一个二次函数f(x)取最小值的点.建立求f(x)的最小值点x*的迭代法,从 而求出的Ax=b的解x*.,等价性问题及几何意义,定义对于实向量的x的二次函数(2.6.1)f(x)在点x的梯度向量为,设x*是Ax=b的
28、解,由于x*是使f(x)取最小值的点. 反之,若x*是使f(x)取最小值的点,则则得 Ax*=b.,定理(等价性定理) x*Rn为Ax=b的解的充分且必要条件是x*使(2.6.1)定义的二次函数f(x)取最小值,即几何意义方程f(x)=C即为方程表示n维椭球面,以x*为中心(Cf(x*).线性方程组Ax=b的求解问题等价于求一簇n维椭球面的公共中心问题.,思想:构造向量序列xk,使(1)f(x(k+1) f(x(k) f(x(1) f(x(0)(2)当k时, f(x(k) f(x*) 这与要求x(k)x*(k)是一致的. 具体方法: 由第k个近似x(k)构造下一个近似x(k+1),首先选定 一
29、个向量pk作为方向,要在直线x= x(k) +tpk (t为参 数)上找一个使f(x)为极小的点x(k+1) ,即确定参数t 使f(x(k)+tpk )为极小.,单变量t的二次函数令(t)=t(Apk, pk)-(r(k), pk)=0得 且这时有(t)=(Apk, pk)0, 从而得极小f(x(k+1). 其中,考察直线x= x(k) +tpk与椭球面f(x)=C的交点, 二次方程(t)= f(x(k) +tpk)=C,当C=f(x(k+1) 时只有 一个重根k,因此pk与椭球面f(x)=f(x(k+1)相切于 x(k+1). 另外, r(k+1)=b-Ax(k+1)=b-A(x(k)+kp
30、k)=r(k)-kApk (r(k+1), pk)= (r(k), pk)- k(Apk, pk)=0r(k+1)与 pk正交.,最速下降法,在n维空间定义的二次函数f(x)在点x(k)的改变率 最大的方向是f(x)在点x(k)的梯度gradf(x)|x= x(k)=-r(k) , 因此沿方向r(k)函数f(x)瞬时下降的最快,所以取 这个方向为pk而得到新的近似x(k+1)的方法就叫最 速下降法.只要r(k)0,最速下降法就继续下去,这里有(r(k+1), r(k) )=0.,共轭梯度法,求解Ax=b的最速下降法的最速下降方向,即r(k)=-gradf(x(k)具有局部性质,在x(k) 附近
31、f(x)沿r(k) 下降最快. 但总体看,这个方向未必是函数下降最理想的方向.下面介绍更合理地选择方向pk的方法,这种方法只要经过有限步( n)就能找到n维椭球面簇的公共中心x*的一种迭代法,即共轭梯度法,它是具有迭代形式的精确解法. 定义 ARnn为对称正定矩阵, p,lRn,如果(p, Al)=0,则称p与l为A-正交或A-共轭.,先考察二维情形,共轭梯度法的具体步骤 第1步(采用最速下降法) 对于初始向量x(0),r(0)=b-Ax(0)0,取p0=r(0), 从x(0)出发沿方向p0寻找新的近似(f(x)的极小点)x(1).计算r(1)=b-Ax(1)=r(0) - 0Ap0,且有(r
32、(1), p0)=0,若 r(1)0,第2步 选择方向向量p1,满足条件) p1=r(1) +0p0 ;) p1与p0为A-正交或A-共轭(称p1为p0的共轭方向). 即选择0满足0=(p1, Ap0)= (r(1), Ap0)+0 (p0, Ap0) 从而,p1=r(1) +0p0 有了p1,沿方向p1,在直线x=x(1) +tp1 (t为参数)上找使 f(x)为极小的点x(2),计算r(2)=b-Ax(2)=r(1) - 1Ap1,且有(r(2), p1)=0,若r(2)0, 重复上述过程,设已求得x(k),且假设r(0), r(1), r(k)都非零, p0 ,p1 ,pk-1都非零,
33、(r(k), pk-1)=0, 第k+1步 (从第2步开始,以后各步统一按如下原则)选择方向向量pk ,满足:) pk= r(k) +k-1pk-1) pk与pk-1为A-正交或A-共轭. 即选择k-1满足0=(pk, Apk-1)=(r(k), Apk-1)+k-1(pk-1, Apk-1)pk= r(k) +k-1pk-1,沿方向pk,在直线x=x(k)+tpk (t为参数)上找使f(x)为 极小的点x(k+1)计算r(k+1) =b-Ax(k+1)= r(k) -kApk 且有(r(k+1) , pk)= (r(k), pk)- k(Apk, pk)=0 , pk 0 若r(k+1) 0
34、 ,继续下一步.,共轭梯度法推算步骤公式(算法) (1)任取初值x(0) Rn;(2) p0=r(0)=b-Ax(0) (3)对于 k=0,1,2,Nx(k+1)=x(k) +kpkr(k+1)=b-Ax(k+1)=r(k) -kApkpk+1= r(k+1)+kpk,定理 设r(k),pk分别为由共轭梯度法产生的剩余向量序列和共轭方向序列,则r(k)构成一个正交系,pk构成一个A-正交系,即(ri, rj)=0, 当ij(pi, Apj)=0, 当ij 定理,定理 共轭梯度法cg最多迭代n次就能得到方程组Ax=b 的精确解x*. 证 考虑剩余向量序列r(k), 如果某一r(m)=0(mn-1
35、),则 r(m)=b-Ax(m)=0,x(m)=x*.即迭代m (mn-1),次就能得到方程组Ax=b的精确解x*. 如果r(0), r(1), r(2), r(n-1)都是非零向量,则由上述定理r(0), r(1), r(2), r(n-1) 为Rn中一个正交基,从而r(n)=b-Ax(n)=0, x(n)=x*.即迭代n次就能得到方程组Ax=b的精确解x*. cg方法是一个有限迭代过程,因此它既是迭代法,也是 直接法.,(1)cg方法理论上是一种具有限迭代形式的精确解法. 自然由于在实际计算中舍入误差的影响,往往不能用n步来完成计算. (2)cg方法在计算过程中原始数据A保持不变,适合解系数阵为大型稀疏矩阵的方程组. (2)cg方法每迭代一步,主要计算一次矩阵乘以向量和两个内积. 算法、程序编制简单.,例 用共轭梯度法(cg方法)解方程组,解 系数矩阵为对称正定阵,取初值x(0) =(0,0);p0=r(0)=b-Ax(0) =(5,5)x(1)=x(0) +0p0= (10/7, 10/7) r(1)=b-Ax(1)=r(0) -0Ap0 =(-5/7, 5/7)p1=r(1) +0p0=(-30/49, 40/49),x(2)=x(1) +1p1= (1, 2) 两步得精确解.,