第2章迭代法
- 格式:ppt
- 大小:922.51 KB
- 文档页数:53
第二章解线性代数方程组的迭代法2. 1 引言在许多实际问题中,常常需要求解这样的线性代数方程组,它的系数矩阵数很高,但非零元素很少,人们称其为大型稀疏线性代数方程组,对于这类方程组,如果它乂不具有带状性,那么,再用直接法求解就不太有效,因为用直接法进行消元或矩阵的三角分解时,没有考虑到系数矩阵的稀疏性,破坏了系数矩阵的形状,导致了计算量的增加和存储单元的浪费,于是,人们常用迭代法求解大型稀疏线性代数方程组。
迭代法只需要存储系数矩阵的非零元素,这样,占用内存在单元较少,能解高阶线性代数方程组。
山于迭代法是通过逐次迭代来逼近方程组的解,因此,收敛性和收敛速度是构造迭代法时要注意的问题。
那么,是否可以构造一种适用于一般情况的迭代法呢?回答是否定的,这是因为不同的系数矩阵具有不同的性态,一般地,每一种迭代法都具有一定的适用范围,在本章的学习中将会看到,有时,某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。
因此,我们应该学会针对具有不同性质的线性代数方程组,构造合适的迭代方法。
本章主要介绍一些基本的迭代法,并在一定的范围内讨论其中儿种方法的收敛法。
2. 2 基本迭代法考虑线性方程组如坷+如勺+…+气兀”二勺a2t x i+a22x2 + - + a2…x n =b2■•••••••••••(2. 1)采用矩阵和向量记号,我们可以把(2.1)式写成Ax = h(2.2)其中,为非奇异矩阵,设下面我们介绍雅可比(Jacobi)迭代,高斯-塞德尔(Gauss-Seidel)迭代与S0R迭代以及SS0R迭代的基本思想和算法。
为了方便地给出矩阵表示式,我们引进下列矩阵分裂:4SD-U,(2.3)其中-a2\-a n\(1)雅可比迭代的基本思想从式(2.1)的第i个方程中解出X t=(/ = 1,2,•••,«)我们把迭代前面的值代入上式右边,山计算得到等式左边的值作为一次迭代的新值,然后再把这个新值代入右边,再从左边得到一个新值,如此反复,就得到了雅可比迭代公式。
第二章 方程求根在许多实际问题中,常常会遇到方程f(x)=0求解的问题。
当f(x)为一次多项式时,f(x)=0称为线性方程,否则称为非线性方程。
对于非线性方程,由于f(x)的多样性,求其根尚无一般的解析方法可以使用,因此研究非线性方程的数值解法是十分必要的。
法、迭代法、牛顿法及割线法。
这些方法均是知道根的初始近似值后,进一步把根精确化,直到达到所要求的 精度为止。
也即求非线性方程根的数值方法。
第一节 第一节 增值寻根法与二分法2.1.1 增值寻根法设非线性方程f(x)=0的根为*x ,增值寻根法的基本思想是,从初始值0x 开始,按规定 的一个初始步长h 来增值。
令 1n x +=n x +h(n=0,1,2,…),同时计算f(1n x +)。
在增值的计算过程中可能遇到三种情形:(1) f(1n x +)=0,此时1n x +即为方 程的根*x 。
(2) f(n x )和f(1n x +)同符号。
这说明区间[n x , 1n x +]内无根。
(3) f(n x )和f(1n x +)异号,f(n x )·f(1n x +)<0此时当f(x)在区间[n x , 1n x +]上连续时,方程f(x)=0在[n x , 1n x +] 一定有根。
也即我们用增值寻根法找到了方程根的存在区间,n x 或1n x +均可以视为根的近似值。
下一步就是设法在该区间内寻找根 *x 更精确的近似值,为此再用增值寻根法 把n x 作为新的初始近似值,同时把步长缩小,例如选新步长1100h h =,这 样会得到区间长度更小的有根区间,从而也得到使f(x)n x ,作为*x 更 精确的近似值,若精度不够,可重复使用增值寻根法,直到有根区间的长度|1n x +-n x |<ε(ε为所要求的精度)为止。
此时f(n x )或f(1n x +)就可近似认为是零。
n x 或1n x +就是满足精度的方程的近似根(如图2-1).2—1例1 用增值寻根法求方程f(x)=324x x +-10=0的有根区间。
第2章 线性方程组的数值解法2.1 引言在自然科学研究和工程技术的应用中,许多问题的解决,诸如非线性问题线性化、求微分方程的数值解最终都归结为线性方程组的求解问题. 我们在后面章节中的样条插值、曲线拟合、数值代数等,也需要求解线性方程组。
一般地,设n 阶线性方程组(linear system of equations of order n )为11112211211222221122,,,n n n n n n nn n n a x a x a x b a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩ (2.1.1) 表示成矩阵形式=Ax b , (2.1.2)其中()111212122212n n ij n nn n nn a a a a a a a a a a ⨯⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎣⎦ A ,12n x x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ x ,12n b b b ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦b , (2.1.3) A 为系数矩阵(coefficient matrix).目前在计算机上经常使用的、简单有效的线性方程组的数值解法大致分为两类:直接法(direct method)和迭代法(iterative method). 其中直接法适用于以稠密矩阵为系数矩阵的中低阶线性方程组,而迭代法主要用于求解以稀疏矩阵为系数矩阵的高阶线性方程组。
本章首先介绍解线性方程组的两种常用的直接法:Gauss 消去法与矩阵三角分解法;然后介绍解线性方程组的三种常用的迭代法:Jacobi 迭代法、Gauss-Seidel 迭代法、超松弛法(SOR 法),并讨论它们的收敛性。
最后,讨论了线性方程组的性态。
2.2 Gauss 消去法Gauss 消去法(Gaussian elimination method )的基本思想是使用初等行变换将方程组转化为一个同解的上三角形方程组,再通过回代,求出该三角形方程组的解.2.2.1 Gauss 消去法Gauss 消去法包括消元和回代两个过程. 下面先举例说明Gauss 消去法求解线性方程组的主要过程.例2.2.1 求解线性方程组123123123471,2581,3611 1.x x x x x x x x x ++=⎧⎪++=⎨⎪++=⎩ 解 将该线性方程组写成增广矩阵(augmented matrix)的形式1471258136111⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦用Gauss 消去法求解过程如下:1.消元过程12213323323214711471147125810361036136111061020020r r r r r r r r r -+→-+→-+→⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥−−−−→---−−−−→---⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦⎣⎦,从而原方程组等价地变为上三角形方程组123233471,361,20.x x x x x x ++=⎧⎪--=-⎨⎪=⎩2.回代过程从第3 个方程解出30x =,将其代入第2 个方程得()2216/31/3x x =--+=,再将30x =及21/3x =回代到第1个方程,解出1231471/3x x x =--=-. 从而得到原方程组的解123113,0.x x x =-==对于一般线性方程组(2.1.1),使用Gauss 消去法求解分为以下两步:1.消元过程为方便起见,记()(0)(0),ijn na ⨯==A A ()T(0)(0)(0)(0)1,12,1,1,,,n n n n a a a +++== b b ,则方程组(2.1.1)为()()()()()()()()()()()()000011112211,1000021122222,100001122,1,,.n 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 +++⎧+++=⎪+++=⎪⎨⎪⎪+++=⎩ (2.2.1) 第1次消元:若()0110a ≠,对方程组(2.2.1) 执行初等行变换11i i i r l r r -→, 2,3,,i n = ,得第1个导出方程组——————————————————————————高斯 (Carl Friedrich Gauss 1777年4月30 日 – 1855年2月23 ) 是德国数学家、天文学家,在许多科学领域都做出了杰出的贡献,他为现代数论、微分几何(曲面论)、误差理论等许多数学分支奠定了基础. 他的数学研究以简明、严谨、完美而著称于世. 他在数学上与阿基米德、牛顿和欧拉齐名,被称为“数学王子”,被公认为有史以来最伟大的数学家之一.()()()()()()()()()()000011112211,111122222,111122,1,,,n nn 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 +++⎧+++=⎪⎪++=⎨⎪⎪++=⎩(2.2.2)其中()()1111/i i l a a =,()()()10011,2,3,,;2,3,, 1.ij ij i j a a l a i n j n =-==+第2次消元:若()1220a ≠,对方程组(2.2.2)执行初等行变换22,i i i r l r r -→ 3,4,,i n = ,得第2个导出方程组()()()()()()()()()()()()()()()0000011112213311,1111122223322,122233333,122233,1,,,,n nn n n n n nn n nn nn n a x 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.2.3)其中()()112222/i i l a a =,()()()21122,3,4,,;3,4,, 1.ij ij i j a a l a i n j n =-==+第k 次消元:若()10k kka -≠,对第1k -个导出方程组执行初等行变换i ik k i r l r r -→,1,2,,i k k n =++ , 得第k 个导出方程组()()()()()()()()()()()()()()()000001111221,1111,110112221,1122,11,111,1,1,11,1,,,,k k n nn k k n n n k k k k k k k n nk n k k k n k k 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 a x a x a +++++++++++++++⎧+++++=⎪⎪++++=⎪⎪⎨++=⎪⎪⎪⎪++=⎩(2.2.4)其中()()11k k ik ikkkl a a --=,()()()11,k k k ij ij ik kj a a l a --=- 1,,;1,, 1.i k n j k n =+=++ 重复上述过程1n -次,得到第1n -个导出方程组()()()()()()()()()()()()()()0000011112213311,1111122223322,122233333,111,1,,,.n n n n n n n nn n n nn nn n a x a x a x a x a a x a x a x a a x a x a a x a +++--+⎧++++=⎪⎪+++=⎪⎪++=⎨⎪⎪⎪=⎪⎩(2.2.5)其中()()()()()1111,,1,2,,1;1,,;1,, 1.k k kk k ik ikkkij ijik kjl a a a a l a k n i k n j k n ----==-=-=+=++ (2.2.6)这样,通过消元过程就将方程组(2.1.1)化成了等价的上三角形方程组(2.2.5).2.回代过程回代过程就是求上三角形方程组(2.2.5)的解. 若()10n nna -≠,则从最后一个方程开始,先求出()()11,1,/n n n n n n n x a a --+=,再由第1n -个方程解出1n x -,依此类推可解出221,,,n x x x - . 一般(2.2.7)定义 2.2.1 由式(2.2.2)-(2.2.7)确定的求解线性方程组的算法称为Gauss 消去法(Gaussian elimination method),包括消元(elimination)和回代(backward substitution)两个过程。
第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.初始化:迭代法通常需要一个初始解,该解可能是问题的近似解或一个具有特定条件的解。
这个初始解将作为迭代的起点,进而逐步逼近最终的解。
2.迭代:在每一次迭代中,通过使用前一次迭代的结果作为输入来计算下一次迭代的结果。
迭代过程可以使用数学公式、算法或其他适当的方法来进行计算。
3.判断停止条件:在每一次迭代中,需要判断是否满足停止条件。
停止条件通常与所求解的问题有关,可以根据预先设定的要求来判断是否已经达到了足够的精度或满足了特定的条件。
4.更新:根据迭代的结果,需要更新迭代变量的值。
这个更新可以是简单的赋值操作,也可以是需要进行复杂计算或使用迭代公式来进行计算。
5.输出结果:当满足停止条件时,迭代过程结束,并输出最终的解。
这个解可能是问题的数值解、近似解或其他形式的解决方案。
迭代法的优点在于它可以通过逐步逼近的方式不断提高解的精度,不需要一次性找到完美的解决方案。
这使得迭代法在处理复杂问题时非常有用,因为往往很难找到问题的精确解。
迭代法的应用非常广泛,可以用于解决数值计算、优化问题、图像处理、机器学习等领域的问题。
例如,在求解非线性方程时,可以使用牛顿迭代法来逼近方程的根;在求解线性方程组时,可以使用雅可比迭代法或高斯-赛德尔迭代法来逼近方程的解。
需要注意的是,迭代法并不是万能的,不是所有问题都适合使用迭代法来解决。
在选择是否使用迭代法时,需要考虑问题的特性和求解方法的适用性。
总结起来,迭代法是一种通过逐步逼近的方式来解决问题的方法。
它的基本原理是通过初始化、迭代、判断停止条件、更新和输出结果等步骤来逼近最终的解决方案。
迭代法广泛应用于各个领域,是解决复杂问题的常用手段之一。