第2章 解线性代数方程组的迭代法

合集下载

第2章解线性代数方程组的迭代法

第2章解线性代数方程组的迭代法

第二章 解线性代数方程组的迭代法2。

1 引 言在许多实际问题中,常常需要求解这样的线性代数方程组,它的系数矩阵数很高,但非零元素很少,人们称其为大型稀疏线性代数方程组,对于这类方程组,如果它又不具有带状性,那么,再用直接法求解就不太有效,因为用直接法进行消元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状,导致了计算量的增加和存储单元的浪费,于是,人们常用迭代法求解大型稀疏线性代数方程组。

迭代法只需要存储系数矩阵的非零元素,这样,占用内存在单元较少,能解高阶线性代数方程组.由于迭代法是通过逐次迭代来逼近方程组的解,因此,收敛性和收敛速度是构造迭代法时要注意的问题。

那么,是否可以构造一种适用于一般情况的迭代法呢?回答是否定的,这是因为不同的系数矩阵具有不同的性态,一般地,每一种迭代法都具有一定的适用范围,在本章的学习中将会看到,有时,某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。

因此,我们应该学会针对具有不同性质的线性代数方程组,构造合适的迭代方法。

本章主要介绍一些基本的迭代法,并在一定的范围内讨论其中几种方法的收敛法。

2.2 基本迭代法考虑线性方程组⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++nn nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 22112222212********* (2。

1)采用矩阵和向量记号,我们可以把(2.1)式写成b Ax =,(2。

2)其中,nn R A ⨯∈为非奇异矩阵,设),,2,1(0n i a ii =≠。

下面我们介绍雅可比(Jacobi )迭代,高斯—塞德尔(Gauss-Seidel )迭代与SOR 迭代以及SSOR 迭代的基本思想和算法.为了方便地给出矩阵表示式,我们引进下列矩阵分裂:,U D L A -+-= (2。

3) 其中,0001,121⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=-n n n a a a L,2211⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=nn a a a D .000,1112⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=-n n n a a a U (1)雅可比迭代的基本思想从式(2。

高等工程数学第二章习题及答案

高等工程数学第二章习题及答案

第2章 线性代数方程组数值解法 研究n 阶线性方程组Ax b =的数值解法.()ij A a =是n n⨯矩阵且非奇异,12(,,,)Tn x x x x = ,12(,,,)Tn b b b b =两类数值方法:(1) 直接法:通过有限次的算术运算,若计算过程中没有舍入误差,可以求出精确解的方法.Ax b Gx d == 等价变换G 通常是对角矩阵、三角矩阵或者是一些结构简单的矩阵的乘积.(2) 迭代法:用某种极限过程去逐次逼近方程组的解的方法.(1)()i i Ax b x Bx k x Bx k +==+−−−−−→=+ 等价变换建立迭代格式,0,1,i =一、向量范数与矩阵范数 1. 向量范数【定义】 若对nK 上任一向量x ,对应一个非负实数x ,对任意,nx y R ∈及K α∈,满足如下条件(向量范数三公理) (1) 非负性:0x ≥,且0x =的充要条件是0x =;(2)齐次性:x xαα=;(3)三角不等式:x y x y+≤+.则称x为向量x的范数.常用的向量范数: (1) 1—范数11nii x x ==∑(2) 2—范数12221()ni i x x ==∑(3) ∞—范数1max ii nxx ∞≤≤=(4) 一般的p —范数11()pnpi pi xx ==∑2. 矩阵范数【定义】 若n nK ⨯上任一矩阵()ij n n A a ⨯=,对应一个非负实数A ,对任意的,n nA B K ⨯∈和K α∈,满足如下条件(矩阵范数公理):(1) 非负性:0A ≥,且0A =的充要条件是0A =;(2)齐次性:A Aαα=;(3)三角不等式:A B A B +≤+;(4)乘法不等式:AB A B≤.则称A为矩阵A的范数.矩阵范数与向量范数是相容的:Ax A x≤向量范数产生的从属范数或算子范数:10max maxx x AxA Ax x=≠==常见从属范数:(1) 1—范数111max ||nij j ni A a ≤≤==∑(2) ∞—范数11max ||nij i nj A a ∞≤≤==∑(3) 2—范数2A =谱半径1()max ||H i i n A A ρλ≤≤=,iλ为H A A 的特征值.H A 为A 的共轭转置. 注:矩阵A 的谱半径不超过A 的任一范数,即()A A ρ≤范数等价性定理:,s t x x为n R 上向量的任意两种范数,则存在常数12,0c c >,使得12,ns t s c x x c x x R ≤≤ ∀∈.注:矩阵范数有同样的结论. 【定理2.1】是任一向量范数,向量序列()k x 收敛于向量*x 的充要条件是()*0,k x x k -→ →∞二、 Gauss 消去法 1.顺序Gauss 消去法 将方程Ax b =写成如下形式11112211,121122222,11122,1n n n n n n n n nn n n n a x a x a x a a x a x a x a a x a x a x a ++++++=⎧⎪+++=⎪⎨⎪⎪+++=⎩其中记,1,1,2,,.i n i a b i n +==消元过程:第一次消元:设110a ≠,由第2,3,,n 个方程减去第一个方程乘以1111/(2,3,,)i i m a a i n == ,则将方程组中第一个未知数1x消去,得到同解方程11112211,1(1)(1)(1)22222,1(1)(1)(1)22,1n n n n n n n nn n n n a x a x a x a a x a x a a x a x a ++++++=⎧⎪ ++=⎪⎨⎪⎪ ++=⎩其中, (1)11,2,3,,;2,3,,,1ijij i j a a m a i n j n n =-==+ . 1111/i i m a a =,2,3,,i n = .第二次消元:设(1)220a ≠,.由第2,3,,n 个方程减去方程组中的第2个方程乘以(1)(1)2222/(3,4,,)i i m a a i n == ,则将方程组第2个未知数2x 消去,得到同解方程11112213311,1(1)(1)(1)(1)2222322,1(2)(2)(2)33333,1(2)(2)(2)33,1n n n n n n n n n nnn n n n a x a x a x a x a a x a a x a a x a x a a x a x a ++++++++=⎧⎪ +++=⎪⎪ ++=⎨⎪⎪⎪ ++=⎩其中(2)(1)(1)22, 3,4,,; 3,4,,,1ij ij i j a a m a i n j n n =-==+ . (1)(1)2222/i i m a a =,3,4,,i n = .经过1n -次消元后,原方程组变成等价方程组11112213311,1(1)(1)(1)(1)2222322,1(2)(2)(2)33333,1(1)(1),1n n n n n n n n n n n nn n n n a x a x a x a x a a x a a x a a x a x a a x a +++--+++++=⎧⎪ +++=⎪⎪ ++=⎨⎪⎪⎪ =⎩其中()(1)(1), 1,2,,k k k ij ij ik ij a a m a i k k n --=-=++ , 1,2,,,1j k k n n =+++ .(1)(1)/k k ik ik kkm a a --=,1,2,,i k k n =++ ;1,2,,1k n =- .回代过程:(1)(1),1(1)(1)(1),1,,1/[]/,1,2,,2,1.n n n n n m n i i i ii n i j j i j j i x a a x a a x a i n n --+---+=+⎧=⎪⎨=-=--⎪⎩∑计算量:按常规把乘除法的计算次数合在一起作为Gauss 消去法总的计算量,而略去加减法的计算次数. 在消去过程中,对固定的消去次数(1,2,,1)k k n =- ,有:除法(1)(1),,/,1,1,,k k ik i k k k m a a i k k n --= =++ 共计n k -次;乘法(1),,1,2,,;1,2,,,1k ik k j m a i k k n j k k n n - =++ =+++ 共计()(1)n k n k --+次.因此,消去过程总的计算量为1311[()(1)]3n k M n k n k n k n-==--++-≈∑ 回代过程的乘除法计算次数为21()2n n +.与消去法计算量相比可以略去不计.所以, Gauss 消去法总的计算量大约为313n .2. Gauss-Jordan 消去法Gauss-Jordan 消去法是Gauss 消去法的一种变形.此方法的第一次消元过程同Gauss 消去法一样,得到(1)(1)(1)(1)11112213311,1(1)(1)(1)(1)22223322,1(1)(1)(1)(1)32233333,1(1)(1)(1)(1)2233,1,,,,n n n n n n n n n nn nn n n n a x a x a x a x a a x a x a x a a x a x a x a a x a x a x a ++++⎧++++=⎪ +++=⎪ +++=⎨ +++= ⎪⎪⎪⎪⎩其中,(1)11,2,,,1jj a a j n n ==+ . 第二次消元:设(1)220a ≠,由第1,3,4,,n 个方程减去第2个方程乘以(1)(1)2222/(1,3,4,,)i i m a a i n == ,则得到同解方程组(2)(2)(2)11113311,1(1)(2)(2)(2)22223322,1(2)(2)(2)33333,1(2)(2)33,1,,,n n n n n n n n n nnn n n n a x a x a x a a x a x a x a a x a x a a x a x a +++++ +++= +++= ++= ++= (2),⎧⎪⎪⎪⎨⎪⎪⎪⎩继续类似的过程,在第k 次消元时,设(1)k kk a -,将第i 个方程减去第k 个方程乘以(1)(1)/k k ik ik kk m a a --=,这里1,3,4,1,1,,i k k n =-+ .经过1n -次消元,得到(2)1111,1(1)(2)2222,1(2)(2)33,1,,,n n n n n a x a a x a a x a +++⎧ =⎪ =⎪⎪ ⎨⎪⎪⎪ =⎩其中()(1)(1),1,2,,1,1,,k k k ij ij ik kj a a m a i k k n --=-=-+ ;1,2,,,1; 1,2,,1j n n k n =+=- .此时,求解回代过程为(1)(1),1/,1,2,,n i i i n iix a a i n --+= = 经统计,总的计算量约为312M n ≈次乘除法. 从表面上看Gauss-Jordan 消去法似乎比Gauss 消去法好,但从计算量上看Gauss -Jordan 消去法明显比Gauss消去法的计算量要大,这说明用Gauss-Jordan 消去法解线性方程组并不可取.但用此方法求矩阵的逆却很方便. 3.列选主元Gauss 消去法在介绍Gauss 消去法时,始终假设(1)0k kk a -≠,称(1)k kka -为主元.若(1)0k kka -=,显然消去过程无法进行.实际上,既使(1)0k kka -≠,但(1)k kka -很小时,用它作除数对实际计算结果也是很不利的.称这样的(1)k kka -为小主元.【例2.2】设计算机可保证10位有效数字,用消元法解方程1112120.3100.7,0.9,x x x x -⎧⨯+=⎪⎨ +=⎪⎩【解】经过第一次消元:第2个方程减去第1个方程乘以212111/m a a =得1112(1)(1)222230.3100.7x x a x a -⎧⨯+=⎪⎨ =⎪⎩其中(1)1222222111/0.333333333310a a a a =-=-⨯,(1)123323211113(/)0.233333333310a a a a a =-⋅=-⨯于是解得(1)(1)223221/0.7000000000,0.0000000000,x a a x ⎧==⎪⎨=⎪⎩而真解为120.2,0.7x x = =注:造成结果失真的主要因素是主元素11a太小,而且在消元过程中作了分母,为避免这个情况发生,应在消元之前,作行交换.【定义】 若 (1)(1)||max ||k k k r k ik k i na a --≤≤=,则称(1)||k k r k a - 为列主元素. k r 行为主元素行,这时可将第 k r行与第k 行进行交换,使(1)||k k r k a - 位于交换后的等价方程组的 (1)k kk a - 位置,然后再施实消去法,这种方法称为列选主元Gauss 消去法或部分主元Gauss 消去法.【例2.3】 应用列选主元Gauss 消去法解上述方程. 【解】 因为2111a a >,所以先交换第1行与第2行,得1211120.9,0.3100.7,x x x x -⎧+=⎪⎨⨯+=⎪⎩ 然后再应用Gauss 消去法,得到消元后的方程组为1220.9,0.7.x x x ⎧+=⎨=⎩回代求解,可以得到正确的结果.即120.2,0.7x x = =.三、三角分解法 设方程组Ax b =的系数矩阵A 的顺序主子式不为零.即1112121222110,1,2,,.kk k k k kka a a a a a k n a a a ∆=≠=在Gauss 消去法中,第一次消元时,相当于用单位下三角阵211131111010010n m L m m -⎡⎤⎢⎥- ⎢⎥⎢⎥=- ⎢⎥ ⎢⎥⎢⎥- ⎢⎥⎣⎦ ,左乘方程组Ax b =,得11A x b =,其中11121(1)(1)122211(1)200n n n nn a a a a a A L a a -(1)⎡⎤⎢⎥ ⎢⎥==⎢⎥ ⎢⎥⎢⎥ ⎣⎦ ,1(1)(1)111,11,1,1(,,,)Tn n n n b L b a a a -+++== .第二次消元时,相当于用单位下三角阵1232210101001n L m m - ⎡⎤⎢⎥ ⎢⎥⎢⎥= - ⎢⎥⎢⎥⎢⎥ - ⎢⎥⎣⎦0 ,左乘方程组11A x b =,得22A x b =其中11121(1)(1)22211(2)(2)221333(2)(2)300000n n n n nn a a a a a A L L A a a a a --⎡⎤ ⎢⎥ ⎢⎥⎢⎥== ⎢⎥⎢⎥ ⎢⎥ ⎢⎥⎣⎦ ,11(1)(2)(2)2211,12,13,1,1(,,,,).Tn n n n n b L L b a a a a --++++==经过1n -次消元,最后得到等价方程组11n n A x b --=其中11121(1)222111111221(1)n n n n n n nn a a a a a A L L L L A a (1)--------⎡⎤⎢⎥ ⎢⎥==⎢⎥⎢⎥⎢⎥ ⎣⎦1111(1)(1)112221,12,1,1(,,,)n Tn n n n n n n b L L L L b a a a --------+++==注意到1n A -是一个上三角阵,记111111221n n n U A L L L L A -------==则121()n A L L L U LU -==其中,121n L L L L -= . 不难验证21313212_1111n n nn m L m m m m m ⎡⎤⎢⎥ ⎢⎥⎢⎥= ⎢⎥ ⎢⎥⎢⎥ 1 ⎢⎥⎣⎦是单位下三角阵.于是解线性方程组Ax b =,就转化为解方程 LUx b =,若令Ux y =就得到一个与 Ax b =等价的方程组Ly b Ux y =⎧⎨=⎩【定理2.2】 若 A 为 n 阶方阵,且 A 的所有顺序主子式0k ∆≠,1,2,,k n = .则存在唯一的一个单位下三角矩阵 L 和一个上三角矩阵 U ,使A LU =.在上述过程中,若不假设A 的顺序主子式都不为零,只假设A 非奇异,那么Gauss 消去法将不可避免要应用两行对换的初等变换.第一次消元,将第1行与第1r 行交换,相当于将方程组Ax b =左乘矩阵11r P :1111r r P Ax P b=经第一次消元得11111111r r L P Ax L P b--=即系数矩阵为11111r A L P A-=,其中110111r P ⎡⎢ ⎢ 1= 1 0 1 ⎣0 0 ⎤⎥⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎦1 列 1r列 类似地,经1n -次消元,有121111111,22,11n n n n n r n n r r A L P L P L P A----------= .如果预先知道每一个(1,2,,1)iir P i n =- ,则在消元之前就全部作交换,得 1211,2,1,n n n r n r r A P P P A PA----== ,其中,1211,2,1,n n n r n r r P P P P ----= .即原方程变为PAx Pb =然后再消元,相当于对PA 做三角分解PA LU =由以上讨论,可得结论 【定理2.3】 若A 非奇异,则一定存在排列矩阵 P ,使得 PA 被分解为一个单位下三角阵和一个上三角1 行1行r阵的乘积,即PA LU =成立.这时,原方程组Ax b = 等价于 PAx Pb =,即等价于求解LUx Pb =令Ux y =则Ly Pb =实际求解时,先解方程组Ly Pb =,再根据 y 求解 Ux y =,即得原方程组Ax b =的解. 这种求解方法称为三角分解法.常用三角分解方法有以下几种. 1.Doolittle 分解方法 假设系数矩阵A 不需要进行行交换,且三角分解是唯一的. 记21121110n n l L l l ⎡⎤⎢⎥ ⎢⎥=⎢⎥ ⎢⎥ ⎢⎥⎣⎦ , 11121222n n nn u u u u u U u ⎡⎤⎢⎥ ⎢⎥=⎢⎥ ⎢⎥ 0 ⎣⎦ 于是有1112111121222212222112111110n n n n n n n n nn a a a u u u u u a a a l l l a a a ⎡⎤ ⎡⎤⎢⎥⎢⎥ ⎢⎥⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎣⎦⎣⎦ nn u ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥0 ⎣⎦从前面讨论A 的LU 分解过程可看出,L 、U 的元素都是用有关的(1)k ij a -来表示的,而它们的计算较麻烦.现在给出直接从系数矩阵A ,通过比较等式的两边逐步把L 和U 构造出来的方法,而不必利用Gauss 消去法的中间结果(1)k ij a -.计算步骤: (1) 由L 阵的第1行分别乘U 阵的各列,先算出U 阵的第1行元素 11,1,2,,j j u a j n = = .然后,由L 阵的各行分别去乘U 阵的第1列,算出L 阵的第1列元素1111/,2,3,,i i l a a i n = = .(2)现假设已经算出U 阵的前1r -行元素,L 阵的前1r -列元素,下面来算U 阵的第r 行元素,L 阵的第r 列元素.由L 阵的第r 行分别乘U 阵的第j 列(,1,,)j r r n =+ ,得11r ij rk kj rjk a l u u -==+∑所以,得U 阵的第r 行元素11,,1,,r rj rj rk kj k u a l u j r r n-==- =+∑ .再由L 阵的第i 行(1,2,,)i r r n =++ 分别去乘U 阵的第r 列,得11r ir ik kr ir rrk a l u l u -==+∑,所以,得L 阵的第r 列元素11[]/,1,2,,.r ir ir ik kr rr k l a l u u i r r n -==- =++∑取1,2,,r n = 逐步计算,就可完成三角分解A LU =;(3)解与Ax b = 等价的方程组Ly b Ux y =⎧⎨=⎩逐次用向前代入过程先解Ly b = 得1111,2,3,,.i i i ij j j y b y b l y i n -==⎧⎪⎨=- =⎪⎩∑然后再用逐次向后回代过程解Ux y =得1/,()/,1,2,,2,1.n n nn n i i ij j ii j i x y u x y u x u i n n =+=⎧⎪⎨=- =--⎪⎩∑2.Crout 分解方法仍假设系数矩阵A 不需要进行行交换,且三角分解是唯一的.即ˆA L=ˆU .与Doolittle 分解方法的区别在111212122211n n n n nn a a a a a a a a a ⎡⎤ ⎢⎥ ⎢⎥=⎢⎥ ⎢⎥⎢⎥ ⎣⎦ 1122ˆˆl l ⎡⎤ 0⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎢⎥⎣⎦ 122ˆ1ˆ10n u u ⎡⎤⎢⎥ ⎢⎥⎢⎥ ⎢⎥ 1 ⎣⎦ 比较两边,则可推导出与Doolittle 分解方法类似的公式,不过Crout 分解方法是先算ˆL 的第r 列,然后再算ˆU的第r 行.3.Cholesky 分解方法若 A 为对称正定矩阵,则有 ˆT U L =,即11()()TT T A LDL LD LD LL ===其中L 为下三角阵. 进一步展开为1121111211112122221222221212n n n n n n nn n n nn a a a l l l l a a a l l l l l l l a a a ⎡⎤⎡⎤ ⎢⎥⎢⎥ 0 ⎢⎥⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥ ⎢⎥ ⎢⎥⎣⎦⎣⎦ 0nn l ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥ ⎣⎦ 比较两边对应元素,容易得到12121()r rr rr rk k l a l -==-∑ ,11()/r ir ir ik rk rrk l a l l l -==-∑ 1,2,,;1,2,,.r n i r r n ==++Cholesky 分解的优点:不用选主元. 由21rrr rk k a l ==∑ 可以看出||1,2,,.rk l k r ≤=这表明中间量rk l得以控制,因此不会产生由中间量放大使计算不稳定的现象. Cholesky 分解的缺点:需要作开方运算. 改进的Cholesky 分解: 改为使用分解T A LDL =即11121121121221222121111n n n n n n n n nn a a a d l l l d a a a l l d a a a ⎡⎤ 1 ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥ 1 1 ⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥ ⎢⎥ ⎣⎦⎣⎦⎣⎦ 2n l ⎡⎤⎢⎥ ⎢⎥⎢⎥ ⎢⎥ 1⎣⎦其中21ˆl 1ˆn l 2ˆn l ˆnn l 1ˆn u12111()/r r rr rk k k r ir ir ik k rk rk d a l d l a l d l d-=-=⎧=-⎪⎪⎨⎪=-⎪⎩∑∑,1,2,,;1,2,,.r n i r r n ==++Cholesky 分解方法或平方根法:应用Cholesky 分解可将Ax b =分解为两个三角形方程组T Ly b L x y ⎧= ⎪⎨= ⎪⎩分别可解得111111/,()/.i i i ik k ii k y b l y b l y l i n -=⎧=⎪⎨=-, =2,3,,⎪⎩∑和1/,()/1,.n n nn n i i ki k ii k i x y l x y l x l i n n =+⎧=⎪⎨=-, =--2,,2,1⎪⎩∑改进的Cholesky 分解方法或改进的平方根法:应用改进的Cholesky 分解,将方程组Ax b =分解为下面两个方程组1,,T Ly b L x D y -= ⎧⎨= ⎩同理可解得1111,,2,3,,.i i i ik k k y b y b l y i n ==⎧=⎪⎨=- =⎪⎩∑和1/,/,1,2,,2,1.n n n n i i i ki k k i x y d x y d l x i n n =+⎧=⎪⎨=- =--⎪⎩∑ 4.解三对角方程组的追赶法若()ij n n A a ⨯=满足1||||,1,2,,.nii ij j j ia a i n =≠> =∑则称A 为严格对角占优矩阵.若A 满足1||||,1,2,,.nii ij j j ia a i n =≠≥ =∑且其中至少有一个严格不等式成立,则称A 为弱对角占优矩阵.现在考虑Ax d = 的求解,即11112222211111n n n n n n n n n b c x d a b c x d a b c x d d a b x -----⎡⎤⎡⎤⎡⎤ ⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥ = ⎢⎥⎢⎥⎢⎥ ⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 系数矩阵A 满足条件11||||0,||||||,,0,2,3,, 1.||||0,i i i i i n n b c b a c a c i n b a ⎧>>⎪≥+ ≠=-⎨⎪>>⎩采用Crout 分解方法11112222221111n n n n n n n b c a b c a b c a b βαβγαγα---⎡⎤ ⎡⎤⎢⎥ 1 ⎢⎥⎢⎥ ⎢⎥⎢⎥ = ⎢⎥⎢⎥ ⎢⎥ ⎢⎥ ⎢⎥⎢⎥⎣⎦ ⎣⎦ 1n β-⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥1 ⎢⎥⎢⎥ 1 ⎣⎦其中,,,i i i αβγ为待定系数.比较上式两边可得到111111,;,,2,3,,;,2,3,, 1.i i i i i i i i i b c a b i n c i n ααβγγβααβ-= == =+ == =-进而可导出1111111,2,3,,.,/,,2,3,,./(),2,3,, 1.i i i i i i ii i i i a i n b c b b i n c b i n γαβααββαβ--⎧= =⎪= =⎪⎨=- =⎪⎪=- =-⎩由此可看出,真正需要计算的是(1,2,,1)i n β=- ,而i α可由,i i b a 和1i β-产生.因此,实现了A 的Crout 分解后,求解Ax d =就等价于解方程组Ly dUx y =⎧⎨=⎩从而得到解三对角方程组的追赶法公式: (1) 计算i β的递推公式:1111/,/(),2,3,, 1.i i i i i c b c b i n ββαβ-⎧=⎪⎨=- =-⎪⎩(2) 解方程组Ly d =:11111/()/(),2,3,,.i i i i i i i y d b y d a y b a i n β--⎧=⎪⎨=-- =⎪⎩(3) 解方程组Ux y =:1,1,2,,2,1.n n i i i i x y x y x i n n β+⎧=⎪⎨=- =--⎪⎩追赶法的乘除法次数是66n -次.将计算121n βββ-→→→ 及12n y y y →→→ 的过程称之为“追”的过程,将计算方程组Ax d =的解121n n x x x x -→→→→ 的过程称之为“赶”的过程.四、迭代法 将Ax b =改写为一个等价的方程组 x Bx k =+建立迭代公式 (1)(),0,1,2,.i i x Bx k i +=+ =称矩阵B 为迭代矩阵.【定义】 如果对固定的矩阵B及向量k,对任意初始猜值向量(0)x ,迭代公式(1)()i i +()i()*lim i i x x →+∞=成立,其中*x 是一确定的向量,它不依赖于(0)x 的选取.则称此迭代公式是收敛的,否则称为发散的.如果迭代收敛,则应有**,x Bx k =+1. 收敛性()()*,0,1,2,i i x x i ε=- =为第i步迭代的误差向量.则有(1)(1)*()*()(),0,1,2,.x x B x x B i εε++=-=-==所以,容易推出()(0),0,1,2,,i i B i εε= =其中,(0)(0)*xxε=-为初始猜值的误差向量.设n nB K ⨯∈,lim 0i i B →+∞=⇔ ()1B ρ<.迭代法收敛基本定理: 下面三个命题是等价的 (1) 迭代法(1)()i i x Bx k +=+收敛;(2)()1B ρ<;(3) 至少存在一种矩阵的从属范数⋅,使1B <注:当条件()1B ρ<难以检验时,用1B 或B ∞等容易求出的范数,检验11B <或1B∞<来作为收敛的充分条件较为方便.常用迭代法如下. 2.Jacob 迭代 考察线性方程组Ax b =,设A 为非奇异的n 阶方阵,且对角线元素0ii a ≠(1,2,,)i n = .此时,可将矩阵A 写成如下形式A D L U =++,1122(,,,)nn D diag a a a = ,21313212000n n a L a a a a ⎡⎤⎢⎥ ⎢⎥⎢⎥= ⎢⎥ ⎢⎥⎢⎥ 0 ⎢⎥⎣⎦ ,12131232000n n a a a a a U ⎡⎤ ⎢⎥ ⎢⎥⎢⎥= 0 ⎢⎥ ⎢⎥⎢⎥ ⎢⎥⎣⎦ ,建立Jacobi 迭代公式(1)1()1(),i i x D L U x D b +--=-++迭代矩阵11()J B D L U I D A --=-+=-J B 的具体元素为112111122122221200n n J n n nn nn a a a a a a B a a a a a a ⎡⎤ - -⎢⎥⎢⎥⎢⎥- - ⎢⎥=⎢⎥⎢⎥ ⎢⎥⎢⎥- - 0 ⎢⎥⎣⎦ Jacobi 迭代法的分量形式如下1(1)()()111(),j n i i i jj jm m jm m m m j jj xb a x a x a -+==+=--∑∑1,2,,;0,1,2,.j n i = =3.Gauss-Seidel 迭代容易看出,在Jacobi 迭代法中,每次迭代用的是前一次迭代的全部分量()(1,2,,)i jx j n = .实际上,在计算(1)i j x +时,最新的分量(1)(1)(1)121,,,i i i j x x x +++- 已经算出,但没有被利用.事实上,如果Jacobi 迭代收敛,最新算出的分量一般都比前一次旧的分量更加逼近精确解,因此,若在求(1)i j x+时,利用刚刚计算出的新分量(1)(1)(1)121,,,i i i j x x x+++- ,对Jacobi 迭代加以修改,可得迭代公式1(1)(1)()111(),j ni i i jj jm m jm m m m j jj xb a x a x a -++==+=--∑∑1,2,,;0,1,2,.j n i = =矩阵形式(1)1()1()(),0,1,2,.i i x D L Ux D L b i +--=-++-+=1()G B D L U -=--+注:(1)两种迭代法均收敛时,Gauss-Seidt 迭代收敛速度更快一些.(2)但也有这样的方程组,对Jacobi 迭代法收敛,而对Gauss-Seidel 迭代法却是发散的. 【例2.4】 分别用Jacobi 迭代法和Gauss-Seidel 迭代法求解下面的方程组121232342,46,4 2.x x x x x x x ⎧- =⎪-+-=⎨⎪-+=⎩初始猜值取0(0,0,0)x =. 【解】 Jacobi 迭代公式为(1)()12(1)()()213(1)()321(2),41(6),0,1,2,41(2),4i i i i i i i x x x x x i x x +++⎧=+⎪⎪⎪=++=⎨⎪⎪=+⎪⎩迭代计算4次的结果如下 (1)(2)(3)(4)(0.5,1.5,0.5),(0.875,1.75,0.875),(0.938,1.938,0.938),(0.984,1.969,0.984).T T T T x x x x ====Gauss-Seidel 迭代公式为(1)()12(1)(1)()213(1)(1)321(2),41(6),0,1,2,41(2),4i i i i i i i x x x x x i x x +++++⎧=+⎪⎪⎪=++=⎨⎪⎪=+⎪⎩迭代计算4次的结果如下(1)(2)(3)(4)(0.5,1.625,0.9063),(0.9063,1.9532,0.9883),(0.9883,2.0,0.9985),(0.9985,1.999,0.9998).T T T T x x x x ====从这个例子可以看到,两种迭代法作出的向量序列(){}i x 逐步逼近方程组的精确解*(1,2,1)T x =,而且Gauss-Seidel 迭代法收敛速度较快.一般情况下,当这两种迭代法均收敛时,Gauss-Seidt 迭代收敛速度更3.超松弛迭代法为了加快迭代的收敛速度,可将Gauss-Seidel 迭代公式改写成1(1)()(1)()11(),j ni i i i jjj jm m jm m m m jjj xx b a x a x a -++===+--∑∑ 1,2,,;0,1,2,.j n i = =并记1(1)(1)()11(),j ni i i jj jm m jm m m m jjj rb a x a x a -++===--∑∑称 (1)i j r + 为 1i + 步迭代的第 j 个分量的误差向量.当迭代收敛时,显然有所有的误差向量(1)0(),1,2,,.i j r i j n +→→∞=为了获得更快的迭代公式,引入因子R ω∈,对误差向量 (1)i j r + 加以修正,得超松弛迭代法(简称SOR 方法)(1)()(1),0,1,2,.i i i j j j x x r i ω++=+ =即1(1)()(1)()1(),j ni i i i jjj jm mjm m m m jjjxx b a xa x a ω-++===+--∑∑1,2,,;0,1,2,.j n i = =适当选取因子ω,可望比Gauss-Seidel 迭代法收敛得更快.称ω为松弛因子.特别当1ω=时,SOR 方法就是Gauss-Seidel 迭代法.写成矩阵向量形式(1)1()1()[(1)](),j i x D L D U x D L b ωωωωω+--=+--++0,1,2,.i =迭代矩阵为1()[(1)].B D L D U ωωωω-=+--实际计算时,大部分是由计算经验或通过试算法来确定opt ω的近似值.所谓试算法就是从同一初始向量出发,取不同的松驰因子ω迭代相同次数(注意:迭代次数不应太少),然后比较其相应的误差向量()()i i r b Ax =-(或()(1)i i x x --),并取使其范数最小的松弛因子ω作为最佳松弛因子opt ω的近似值.实践证明,此方法虽然简单,但往往是行之有效的. 4.迭代收敛其它判别方法:用迭代法收敛基本定理来判断收敛性时,当n 较大时,迭代矩阵的谱半径计算比较困难,因此,人们试图建立直接利用矩阵元素的条件来判别迭代法的收敛定理. (1) 若方程组Ax b =中的系数矩阵A 是对称正定阵,则 Gauss-Seidel 迭代法收敛. 对于SOR 方法,当02ω<< 时迭代收敛(2)若A 为严格对角占优阵,则解方程组 Ax b = 的Jacobi 迭代法,Gauss -Seidel 迭代法均收敛. 对于SOR 方法,当01ω<< 时迭代收敛.【例2.5】 设线性方程组为121221,32,x x x x ⎧+=-⎪⎨+=⎪⎩建立收敛的Jacobi 迭代公式和Gauss -Seidel 迭代公式. 【解】 对方程组直接建立迭代公式,其Jacobi 迭代矩阵为0230J B -⎡⎤=⎢⎥- ⎣⎦,显见谱半径()1J B ρ=>,故Jacobi 迭代公式发散.同理Gauss -Seidel 迭代矩阵为0206G B -⎡⎤=⎢⎥ ⎣⎦,谱半径()61G B ρ=>,故Gauss -Seidel 选代公式也发散. 若交换原方程组两个方程的次序,得一等价方程组121232,21,x x x x ⎧+=⎪⎨+=-⎪⎩其系数矩阵显然对角占优,故对这一等价方程组建立的Jacobi 迭代公式,Gauss -Seidel 迭代公式皆收敛. (3)SOR 方法收敛的必要条件是 02ω<<【定理2.5】 如果A 是对称正定阵,且02ω<<,则解Ax b =的SOR 方法收敛.注:当(0,2)ω∈ 时,并不是对任意类型的矩阵A ,解线性方程组Ax b =的SOR 方法都是收敛的.当SOR 方法收敛时,通常希望选择一个最佳的值opt ω使SOR 方法的收敛速度最快.然而遗憾的是,目前尚无确定最佳超松弛因子opt ω的一般理论结果.实际计算时,大部分是由计算经验或通过试算法来确定opt ω的近似值.所谓试算法就是从同一初始向量出发,取不同的松驰因子ω迭代相同次数(注意:迭代次数不应太少),然后比较其相应的误差向量()()i i r b Ax =-(或()(1)i i x x --),并取使其范数最小的松弛因子ω作为最佳松弛因子opt ω的近似值.实践证明,此方法虽然简单,但往往是行之有效的.【例2.6】 求解线性方程组Ax b =,其中10.3000900.308980.30009100.4669110.274710.30898A - -- -0.46691 0= - -- 00.274711(5.32088,6.07624,8.80455,2.67600).T b ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥ - ⎣⎦ =-分别利用Jacobi 迭代法,Gauss -Seidel 迭代法,SOR 迭代法求解. 【解】其结果列入下表中,方程组精确解(五位有效数字)为*(8.4877,6.4275, 4.7028,4.0066).T x =-Jacobi 迭代法计算结果i()1i x()2i x ()3i x ()4i x ()2||||i r0 012.3095 1 5.3209 6.0762 -8.8046 2.6760 5.3609 27.97113.5621 -5.2324 1.90143.631820 8.4872 6.4263 -4.7035 4.0041 0.0041 218.48606.4271 -4.7050 4.0063 0.0028Gauss-Seidel 迭代法计算结果i()1i x()2i x()3i x()4i x()2||||i r0 012.3095 1 5.3209 7.6730 -5.2220 2.8855 3.6202 28.51506.1933 -5.1201 3.90040.49098 8.4832 6.4228 -4.7064 4.0043 0.0078 98.48556.4252-4.70554.00550.0038SOR 迭代法计算结果(1.16ω=)i()1i x()2i x()3i x()4i x()2||||i r0 012.3095 1 6.1722 9.1970 -5.2320 3.6492 3.6659 29.69416.1177 -4.8999 4.43351.33136 8.4842 6.4253 -4.7005 4.4047 0.0051 78.48686.4288-4.70314.00650.0016计算结果表明,若求出精确到小数点后两位的近似解,Jacobi 迭代法需要21次,Gauss -Seidel 迭代法需要9次,而SOR 迭代法(选松弛因子 1.16ω=)仅需要7次,起到加速作用.5.误差分析 【定理2.6】设 *x 是方程 Ax b = 的惟一解,v ⋅ 是某一种向量范数,若对应的迭代矩阵其范数1v B <,则迭代法(1)(),0,1,2,.i i xBx k i +=+ = 收敛,且产生向量序列(){}i x 满足()*()(1)||||||||||||1||||i i i vv vvB x x x x B --≤--()*(1)(0)||||||||||||1||||i i vv vvB x x x x B -≤--【证明】 由迭代收敛基本定理的(3)知,迭代法(1)(),0,1,2,.i i x Bx k i +=+ =收敛到方程的解*x .于是,由迭代公式立即得到(1)*()*(1)()()(1)(),().i i i i i i x x B x x x x B x x ++--=--=-为书写方便把v 范数中v 略去,有估计式(1)*()*||||||||||||,i i x x B x x +-≤⋅-(1)()()(1)||||||||||||.i i i i x x B x x +--≤⋅-再利用向量范数不等式||||||||||||x y x y -≥-于是得第一个不等式()(1)(1)()()*(1)*()*||||||||||||||||||||(1||||)||||,i i i i i i i B x x x x x x x x B x x -++ -≥-≥--- ≥--再反复递推即第二个不等式.注:(1)若事先给出误差精度ε,利用第二个不等式可得到迭代次数的估计(1)(0)(1||||)ln ln ||||||||v v v B i B x x ε⎡⎤->⎢⎥-⎣⎦ (2)在||||v B 不太接近1的情况下,由第一个不等式,可用()(1)||||i i v x x ε--<作为控制迭代终止的条件,并取 ()i x 作为方程组 Ax b = 的近似解.但是在||||v B 很接近1时,此方法并不可靠.一般可取1,2,v =∞或F .【例2.7】 用Jacobi 迭代法解方程组123123123202324,812,231530.x x x x x x x x x ⎧++=⎪++=⎨⎪-+=⎩问Jacobi 迭代是否收敛?若收敛,取(0)(0,0,0)T x =,需要迭代多少次,才能保证各分量的误差绝对值小于610-?【解】 Jacobi 迭代的分量公式为(1)()()123(1)()()213(1)()()3121(2423)201(12),0,1,2,81(3022),15i i i i i i i i i x x x x x x i x x x +++⎧=--⎪⎪⎪=-- =⎨⎪⎪=-+⎪⎩Jacobi 迭代矩阵J B 为130102011088210155J B ⎡⎤ - -⎢⎥⎢⎥⎢⎥=- -⎢⎥⎢⎥⎢⎥- ⎢⎥⎣⎦,由5251||||max ,,1208153J B ∞⎧⎫==<⎨⎬⎩⎭知,Jacobi 迭代收敛. 因设(0)(0,0,0)Tx =,用迭代公式计算一次得(1)(1)(1)12363,, 2.52x x x = = =而(1)(0)|||| 2.x x ∞-=于是有6110(1)13ln ln 13.23i -⎡⎤⋅-⎢⎥>=⎢⎥⎢⎥⎣⎦所以,要保证各分量误差绝对值小于610-,需要迭代14次.【例2.8】 用Gauss -Seidel 迭代法解例2.11中的方程组,问迭代是否收敛?若收敛,取(0)(0,0,0)Tx =,需要迭代多少次,才能保证各分量误差的绝对值小于610-?【解】 Gauss -Seidel 迭代矩阵G B 为102403601()03025524000G B D L U - - ⎡⎤⎢⎥=-+= -⎢⎥⎢⎥ 38 -3⎣⎦显然1||||14G B =<,所以迭代收敛. Gauss -Seidel 迭代分量公式为(1)()()123(1)(1)()213(1)(1)(1)3121(2423),201(12),0,1,2,81(3022),15i i i i i i i i i x x x x x x i x x x ++++++⎧=--⎪⎪⎪=-- =⎨⎪⎪=-+⎪⎩因取(0)(0,0,0)T x =,故迭代一次得(1)(1)(1)1231.2, 1.35, 2.11x x x = = =于是有(1)(0)|||| 2.11x x ∞-=,计算得6110(1)14ln ln 10.2.114i -⎡⎤⋅-⎢⎥>=⎢⎥⎢⎥⎣⎦所在,要保证各分量误差绝对值小于610-,需要迭代11次.。

线性方程组的迭代式求解方法

线性方程组的迭代式求解方法

线性方程组的迭代式求解方法迭代法解方程的基本原理1.概述把 Ax=b 改写成 x=Bx+f ,如果这一迭代格式收敛,对这个式子不断迭代计算就可以得到方程组的解。

道理很简单:对 x^{(k+1)}=bx^{(k)}+f 两边取极限,显然如果收敛,则最终得到的解满足 \lim_{k\rightarrow\infty } x^{(k)}=x^*=Bx^*+f ,从而必然满足原方程 Ax^*=b 。

迭代方法的本质在于这一次的输出可以当作下一次的输入,从而能够实现循环往复的求解,方法收敛时,计算次数越多越接近真实值。

2.收敛条件充要条件:迭代格式 x=Bx+f 收敛的充要条件是 \rho (B)<1充分条件: \Vert B\Vert <1即 \Vert B\Vert <1 \Rightarrow \rho(B)<1\Leftrightarrow 迭代收敛一、Jacobi迭代法怎样改写Ax=b ,从而进行迭代求解呢?一种最简单的迭代方法就是把第i行的 x_i 分离出来(假定 a_{ii} \ne 0 ):\sum_{j=1}^{n}a_{ij}x_j=b_i\Rightarrow x_i=\frac{b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j}{a_{ii}}\quad \\这就是Jacobi(雅可比)迭代法。

迭代格式给定x^{(0)}=\left[x_1^{(0)},x_2^{(0)},\cdots,x_n^{(0)}\rig ht]^T ,则Jacobi法的迭代格式(也称分量形式)为x_i^{(k+1)}=\frac{1}{a_{ii}}\left ( {b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j^{(k)}}\right),\quadi=1,2,\cdots,n\\矩阵形式设 A=D-L-U。

Jacobi法的矩阵形式(也称向量形式)为x^{(k+1)}=B_Jx^{(k)}+D^{-1}b\\其中迭代矩阵 B_J=D^{-1}(L+U)收敛条件\begin{eqnarray} \left. \begin{array}{lll} \VertB_J\Vert <1 \\ A 严格对角占优\\ A, 2D-A对称正定\end{array} \right \} \end{eqnarray} \Rightarrow \rho (B_J)<1\Leftrightarrow 迭代收敛特别地,若 A 对称正定且为三对角,则 \rho^2(B_J)=\rho (B_G)<1 。

第二章解线性方程组迭代法

第二章解线性方程组迭代法
是否是原来的方程的解?
A=(D-L)-U
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
• 收敛条件
迭代格式X=GX+g 对任意的初值X0和向量g,收敛的充要条
件是G的谱半径 (G)<1。
下面我们看一些充分条件:
0 a12
0
U
0
a1n
0 an1n
0
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
易知,Jacobi迭代有
(D L U )x b Dx (L U )x b
x D1(L U )x D1b
定理:若线性方程组AX=b的系数矩阵A,
①若A为行或列强对角占优阵,则Jacobi和Gauss-Seidel迭代都收敛;
② 若A对称正定阵,则Gauss-Seidel迭代收敛;
③ 若A对称正定阵,且2D A也为对称正定阵,则Jacobi迭代收敛。
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science
将方程组变形,化为:
11x1 x2 2x1 12x2
6x3 x3
4 1
x1 3x2 15x3 2
上海理工大学 理学院
University of Shanghai for Science and Technology
College of Science

解线性方程组的迭代法

解线性方程组的迭代法

解线性方程组的迭代法Haha送给需要的学弟学妹摘要:因为理论的分析表明,求解病态的线性方程组是困难的,但是实际情况是否如此,需要我们来具体检验。

系数矩阵H 为Hilbert 矩阵,是著名的病态问题。

因而决定求解Hx b =此线性方程组来验证上述问题。

详细过程是通过用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法求解Hx b =线性方程组。

关键词:病态方程组、Gauss 消去法、J 迭代法、GS 迭代法、SOR 迭代法目录:一、问题背景介绍二、建立正确额数学模型 三、求解模型的数学原理1、Gauss 消去法求解原理2、Jacobi 迭代法求解原理3、G-S 迭代法求解原理4、SOR 迭代法求解原理5、Jacobi 和G-S 两种迭代法收敛的充要条件 四、计算过程(一)Hilbert 矩阵维数n=6时1、Gauss 消去法求解2、Jacobi 迭代法求解3、G-S 迭代法求解4、SOR 迭代法求解(二)Hilbert 矩阵维数n=20、50和100时1、G-S 迭代法求解图形2、SOR 迭代法求解图形 五、编写计算程序 六、解释计算结果1、Gauss 消去法误差分析2、G-S 迭代法误差分析3、SOR 迭代法误差分析G-S 迭代法与SOR 迭代法的误差比较 七、心得体会正文:一、问题背景介绍。

理论的分析表明,求解病态的线性方程组是困难的。

实际情况是否如此,会出现怎样的现象呢?二、建立正确的数学模型。

考虑方程组Hx b =的求解,其中系数矩阵H 为Hilbert 矩阵,,,1(), , ,1,2,,1i j n n i j H h h i j n i j ⨯===+-这是一个著名的病态问题。

通过首先给定解(为方便计算,笔者取x 的各个分量等于1),再计算出右端,b Hx =这样Hx b =的解就明确了,再用Gauss 消去法、J 迭代法、GS 迭代法和SOR 迭代法四种方法分别求解,Hx b =将求解结果与给定解比较,而后求出上述四种方法的误差,得出哪种方法比较好。

8 线性代数方程组的迭代法

8 线性代数方程组的迭代法

写成矩阵形式:
Ax b ( D-L-U ) x b
-U
A=
D
x D1 ( L U ) x D1b D1 ( L U )=D1 ( D A) I D1 A-Lx( k Nhomakorabea)D
1
(L U )x
(k )
D b
1
(4)
B
(4)即为雅克比(Jacobi)迭代公式
x x 3 2x 4x 3
(k ) 1 (k ) 1 (k ) 2 (k ) 2
( 0) ( 0) 取 x1 x2 0
计算得:
x1(1) 3 (1) x2 3 ,
x1(2) 3 (2) x2 3 ,
x1(3) 9 (3) x2 9 ,
第八章
线性方程组的迭代解法
主要内容
第一节 引言 第二节 基本迭代法
1. Jacobi迭代法
2. Gauss-Seidel迭代法
3. SOR迭代法
第三节 迭代法的收敛性
§1 引言
考虑线性方程组 Ax b
其中A为非奇异矩阵。
定义上:
直接法: 经过有限次运算后可求得方程组精确解的方法(不计 舍入误差!) 迭代法:从解的某个近似值出发,通过构造一个无穷序列去 逼近精确解的方法。(一般有限步内得不到精确解)
( k 1) 1
U




( k 1) xn
1 ( k 1) ( k 1) ( k 1) (bn an1 x1 an 2 x 2 an 3 x 3 ann
0 a21 0 L a31 a32 0 a a a n2 n3 n1 ann

线性代数方程组迭代法PPT课件

线性代数方程组迭代法PPT课件

超松弛法
收敛速度快
总结词
总结词
计算量较大
ABCD
详细描述
超松弛法具有较快的收敛速度,尤其对于大型线 性方程组,能够显著减少迭代次数。
详细描述
由于超松弛法的计算量较大,因此在实际应用中 可能需要考虑计算效率的问题。
CHAPTER 04
迭代法的实现步骤
初始化
设置初值
为方程组的解向量设定一个初始值。
迭代法的应用场景
当方程组的系数矩阵难以直接求解时 ,迭代法可以作为一种有效的替代方 案。
在科学计算、工程技术和经济领域中 ,许多问题可以转化为线性代数方程 组求解,而迭代法在这些领域有广泛 的应用。
迭代法的优缺点
优点
迭代法通常比直接法更加灵活和通用,对于大规模和高维度的线性代数方程组, 迭代法更加高效。
缺点
迭代法需要选择合适的迭代公式和参数,并且需要满足收敛条件,否则可能无 法得到正确的解。此外,迭代法的计算过程比较复杂,需要较高的计算成本。
CHAPTER 02
迭代法的基本原理
迭代法的数学模型
迭代法是一种求解线性代数方程组的数值方法,通过不断迭代逼近方程的 解。
迭代法的数学模型通常表示为:$x_{n+1} = T(x_n)$,其中$x_n$表示第 $n$次迭代时的近似解,$T(x)$表示迭代函数。
03
非线性方程组的迭代法在求解优化问题、控制问题 等领域有广泛应用。
在优化问题中的应用
01
迭代法在优化问题中也有广泛应用,如求解无约束优化问题、 约束优化问题和多目标优化问题等。
02
常见的优化问题迭代法包括梯度下降法、牛顿法和共轭梯度法
等。
这些方法通过不断迭代来逼近最优解,广泛应用于机器学习、

6、解线性代数方程组的迭代法

6、解线性代数方程组的迭代法
k ( lim aijk ) aij
(i, j 1,2,, n)
k
则称{ Ak }收敛于A,记为 lim Ak A.
例4 设矩阵序列 A 0
1 2 2 2 k kk 1 , , Ak , , , A k 0 2 0 且 | | 1,考查其极限.lim kk lim k lim 1 0. k k k k k k 1
1. xi 0.0(i 1,2,, n), 2. 对于k 1,2,, N 0 ,
nn
非奇异,
且aii 0(i 1,2,, n), 数组x(n)开始存放x ( 0) , 后存放x ( k ) ,
xi (bi aij x j aij x j ) aii (i 1,2,, n), j 1 j i 1
(1.4)

x(k+1)=B0x(k)+f, (k=0,1,2,„)
x (10) (3.000032 , 1.999838 , 0.9998813 )T , ε (10)

0.000187 , 其中ε (10) x (10) x * .
一般地,由Ax b变形得到等价的x Bx f .
0 a11 0 a12 a1n a a22 0 21 0 ,U , L . D an1,n a ann 0 n1 an,n 1 0
(k )
并有一阶定常迭代法 x Bx f (3.3)
引进误差向量ε ( k ) x ( k ) x*,则 ε ( k 1) Bε ( k ) B k ε ( 0) .
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2)||kA||=|k| || A||,k∈R
(3)||A+B|| ≤ || A ||+|| B ||
则称 N ( x ) A 为R nn (或x C nn ) 上的一个矩阵范数 ,|| A ||的值为矩阵A的范数。
设 n 阶矩阵 A=(aij),常用的矩阵范数有:
矩阵1-范数: A
x 引理2.1:迭代法(2.2.3)式对任何初始近似
0
均收敛的充分必要条件是
H k 0k
引理2.2: H k 0 k 的充要条件是 ( H ) 1 定理2.4:迭代法(2.2.3)式对任何初始近似 x 0 均收敛的充分必要条件是迭代矩阵H的谱半径
理论上存在多种多样的向量范数,但最常用的是 如下三种。 设向量x=(x1,x2,…,xn)T,定义
向量1-范数:
向量2-范数:
x
1


i 1
n
xi
1 2
x
2
n 2 xi i 1
1 i n
向量无穷范数:
x
max xi
容易验证,以上三种范数都满足向量范数的三个条件。
0.9 0 g , 其中 H , 0.3 0.8
讨论该迭代法的收敛性。
2.2.3 迭代法的收敛速度
定理2.5 当 H 1 时,由迭代法(2.2.3)式 所定义的序列 {x ( k ) } 满足如下估计式:
x
(k )
x
*
H 1 H
H
k
x ( k ) x ( k 1)
1
max
1 j n
| a
i 1
n
ij
|
1 2
列和
矩阵2-范数: A 2 AT A的最大特征值 矩阵无穷范数: A

max
1 i n
| a
j 1
n
ij
| 行和
以上三种范数都满足矩阵范数的条件,通常将这 三种矩阵范数统一表示为|| A ||p,P=1,2,∞。
1 2 例2.2 设矩阵 A 3 4
Hx g ,
k
x Hx g
* *
k *
两式相减,知误差向量 x x 满足下列迭代关系:
x ( k 1) x * H ( x ( k ) x * ) x ( k 1) x * H k 1 ( x ( 0) x * ), k 0,1,2, 由此递推:
定义2.2 对于向量序列
( ( ( x ( k ) ( x1k ) , x2k ) ,, xnk ) )T , k 1,2,, * * * x * ( x1 , x 2 , , x n )T 及向量
如果
k 则称向量序列 x(k)
lim x i
(k )
xi
*
*
收敛于向量 x* 。记作 或
T
则它的特征方程为:
10 14 I A A 2 30 4 0 14 20
T
此方程的根为矩阵ATA的特征值,解得
1 15 221
因此
A
2
2 15 221
221
15


1 2
5.46
在线性方程组的研究中,经常遇到矩阵与向量的 乘积运算,若将矩阵范数与向量范数关联起来,将给 问题的分析带来许多方便。设||· ||是一种向量范数,由 此范数派生的矩阵范数定义为 Ax p A p max x 0 x p 注意,此式左端||A||表示矩阵范数,而右端是向量 Ax 和 x 的范数,利用向量范数所具有的性质不难验 证,由上式定义的矩阵范数满足矩阵范数的条件。
max A
x
p
1
P
Bx
p
A P max Bx p A P B
x
p
1
P
2.1.3 矩阵的谱半径
矩阵范数同矩阵特征值之间有密切的联系,设λ 是矩阵A相应于特征向量x的特征值,即 Ax=λx,于 是利用向量-矩阵范数的相容性,得到 |λ| || x ||=||λx|| =|| Ax|| ≤ || A || ||x|| 从而,对A的任何特征值λ均成立 |λ|≤|| A || (3)
x
(k )
x
*
1 H
x (1) x (0)
现在讨论使误差减少初始误差的 倍所需的最 少迭代次数。
x
(k )
x H
*
k
x (0) x *
若要求 则
H
k
x ( k ) x * x (0) x *
( H )
k
两边取对数得:
ln k ln ( H ) ln k ln ( H )
(H ) 1
推论:若 H 1 ( 允许为任何一种相容的矩阵范 数) ,则迭代法(2.2.3)式收敛。
例1 设 x
k 1
Hx
k
0.1 0.5 g , 其中 H , 0.8 0.1
讨论该迭代法的收敛性。
例2 设 x
k 1
Hx
k
后算出来的值有更好的近似,因此可用这些新值来计算
x
( k 1) i
hij x
j 1
i 1
( k 1) j
hij x (jk ) gi
j i
n
利用最新值进行计算的方法称为Seidel迭代法。
对Jacabi迭代法运用Seidel技巧得到
xi
k 1
n 1 i 1 k 1 k aij x j aij x j bi i 1, 2, n aii j 1 j i 1
x D 1 L U x D 1b
k=0, (2.3.4) 1,
x I D 1 A x D 1b


迭代矩阵为
H J I D 1 A D 1 ( L U )
分量形式为
xi
k 1
1 aii
i 1 aij x j k j 1
定义: ln ( H ) 为迭代法(2.2.3)的渐进收敛速度。
2.3 Jacabi方法与Gauss-Seidel方法
2.3.1 Jacabi方法
设A=D-L-U, 则 D L U x b Dx b L U x 即迭代格式为 k 1 k x D 1 L U x D 1b 也可改写为
其矩阵形式为
x
k 1
D 1 Lx

k 1
Ux b
k

k=0, 1,
整理成一般迭代法的形式为
x
k 1
( D L) Ux
1
k
( D L)1 b
例2.3 用Jacobi迭代法和Gauss-Seidel迭代法解下列 方程组, 已知方程组得精确解为 x*=(1,1,1)T 。 10 x1 3 x2 x3 14 2 x1 10 x2 3 x3 5 x 3 x 10 x 14 2 3 1 解:先改写方程如下
第2章 解线性代数方程组的迭代法
求解线性代数方程组主要有直接法和迭代 法两种常见方法。直接法一般适合小型的系数 矩阵,为了求解现实当中常见的大型稀疏矩阵, 下面我们将重点介绍迭代法。它是一种不断套 用一个迭代公式,逐步逼近方程的解的方法。 将讨论两类主要方法,一类是逐步逼近法,另 一类是下降法,包括最速下降法和共轭梯度法。
通过向量范数定义的矩阵范数,满足不等式关系:
Ax A x ,
x R , A R
n
nn
(1)
AB A B , A, B R nn
(2)
通常将满足上式的矩阵范数称相容范数。
由向量范数|| x ||p派生出的矩阵范数:
A
p
max
x 0
Ax x
p
p
max Ax
2.1 向量、矩阵范数与谱半径
为了对线性方程组数值解的精确程度,以及方 程 组 本 身 的 性 态 进 行 分 析 , 需 要 对 向 量 和 矩 阵的 “大小”引进某种度量,范数就是一种度量尺度, 向量和矩阵的范数在线性方程组数值方法的研究中 起着重要的作用。
2.2.1
向量的范数
n n 定义2.1 设 x R (或x C ),N ( x ) x 是x的实 值函数,且满足条件
设n阶矩阵A的n个特征值为λ1,λ2,…λn,称 ( A) max i
1 i n
为矩阵A的谱半径。
从(3)式得知,对矩阵A的任何一种相容范数 都有 ρ(A)≤||A||。
2.2 迭代法的一般形式与收敛性定理
2.2.1 迭代法的一般形式 已知线性代数方程组
Ax b x Hx g (2.2.1)
x
p
1
p
称之为矩阵A的算子范数,其中 p=1,2或∞。
定理2.2 由上式所定义的矩阵范数为相容范数。 证明: 当x=0时,(1)式显然成立。
x 0,
Ax x
p p
max
y 0
Ay y
p
p
A
p
Ax
p
A
p
x
p
A, B R nn ,
AB
p
max ABx
x
p
1
p
n
范数的等价性表明,一个向量若按某种范数是一 个小量,则它按任何一种范数也将是一个小量。容 易证明,常用的三种向量范数满足下述等价关系。 || x ||∞ ≤|| x ||1 ≤ n|| x ||∞ || x ||∞ ≤|| x ||2 ≤|| x ||∞
相关文档
最新文档