线性方程组的迭代解法及收敛分析
第3章 解线性方程组的迭代方法

0
0 U
a1 n a2n a n 1, n 0
A D L U , 因 D 存 在 , 故 Ax b x D
1
(L U )x D b
1
记
BJ D
1
(L U ) I D
1
A,
(k )
fJ D b
k k
一、简单迭代思想
设矩阵A可逆,把矩阵A分裂为 则
A Q C, Q 0,
1 1
A x b (Q C ) x b (I Q C )x Q b
x Bx f .
迭代过程
x k 1 B x k f ,
(1)
B称为迭代矩阵。 给定初值 x 0 , 就得到向量序列 x 0 , x1 , x n ,
x
(0)
|| x || || x
* (k ) (k )
故 || x
(k )
x || || x
x
( k 1)
( k 1)
x( k 1)来自x( k 1)
|| || x
( k 1)
x ||
*
|| B |||| x
x
|| || B |||| x
x ||
Dx
Lx Ux
其中
a1 1 D a1 2 0
a 22 a nn a1 3 a 23 0
1
0 a 21 , L a 31 a n1
0 a 32 an2
0 a n , n 1
b i ) / a ii
( a1 2 x 2
第四章线性方程组的迭代法范文

第四章 线性方程组的迭代法第一节 迭代法及其收敛性一、迭代法的一般格式在前面我们已经介绍了解线性方程组b Ax = (1)的一些直接方法,下面我们将简略介绍一下解方程组(1)的另一类方法——迭代法,所谓迭代法是这样一种方法,对任意给定初始近似()0x ,按某种规则逐次生成序列()()()() ,x x ,x ,x k 210使极限()*∞→=x x lim k k (2)为方程组(1)的解,即b Ax =*设把矩阵A 分解成矩阵N 和P 之差P N A -=其中N 为非奇异矩阵,于是,方程组(1)便可以表示成b Px Nx +=即f Bx b N Px N x +=+=--11 (3)其中b N f ;P N B 11--==,据此,我们便可以建立迭代公式 ()() 2101,,k fBx x k k =+=+ (4)我们称迭代公式(4)中的矩阵B 为迭代矩阵. 若序列(){}kx收敛()*∞→=x x lim k k显然有f Bx x +=**即,极限*x 便是所求方程组的解.定义1(1)对给定的方程组(3),用公式(4)逐步代入求近似解 的方法称为迭代法.(2) 如果()k k x lim ∞→存在 (记为*x ),则称迭代法收敛,此时*x 就是方程组的解,否则称此迭代法发散.为了讨论迭代公式(4)的收敛性,我们引进误差向量.()(),...,,k ,x x e k k 210=-=* (5)由(3)和(4)便得到误差向量所满足的方程()()k k Be e =+1 (6)递推下去,最后便得到()()()011e B e k k ++= (7)二、迭代法的收敛性若欲由(4)所确定的迭代法对任意给定的初始向量()0x 都收敛,则由(7)确定的误差向量()k e应对任何初始误差()0e 都收敛于0.定义2若()0=-∞→A A lim k k (8)则称矩阵序列(){}kA依范数‖·‖收敛于A .由范数的等价性可以推出,在某种范数意义下矩阵序列收敛,则在任何一种范数意义下该矩阵序列都收敛.因此,对矩阵序列(){}kA收敛到矩阵A ,记为()AA lim k k =∞→ (9)而不强调是在那种范数意义下收敛.从定义及矩阵的行(列)范数可以直接推出下面定理. 定理1 设矩阵序列()()()(),...,k a A n n k ijk 21==⨯及矩阵()nn ij a A ⨯=,则(){}kA 收敛于A 的充分必要条件为()ijk ij k a a lim =∞→, n ,...,j ,i 21=因此,矩阵序列的收 敛可归结为元素序列的收敛.此外,还可以推出下面定理.定理2 迭代法(4)对任何()0x都收敛的充分必要条件为=∞→k k B lim (10)定理3 矩阵序列{}kB 收敛于0的充分必要条件为()1<B ρ (11)证明:如果0=∞→k k B lim ,则在任一范数‖·‖意义下有=∞→kk B lim而由第六节定理4有()()[]kk k B B B ρρ=≥所以必有()1<B ρ反之,若()1<B ρ则存在足够小的正数ε,使()1<+ερB ,则第六节定理5可知,存在范数α⋅使,()1<+≤εραB B .于是[]()()kkkB B B εραα+≤≤因为()()0=+∞→kk B lim ερ所以=∞→αkk B lim 即0=∞→k k B lim定理 4:迭代法(4)对任意()0x 都收敛的充分必要条件为()1<B ρ三、迭代法的收敛速度考察误差向量()()()()0e B x x e k k k ⋅=-=*设B 有n 个线性无关的特征向量n ,...,,ηηη21,相应的特征值为n ,...,,λλλ21,由()∑==nj jj a e10η得()()()0eB e k k =∑==n j j kj B a 1η∑==nj j kj j a 1ηλ可以看出,当()1<B ρ愈小时,()∞→→k k j 0λ愈快,即()0→k e 愈快,故可用量()B ρ来刻划迭代法的收敛快慢.现在来确定迭代次数k ,使()[]s kB -≤10ρ (12)取对数得()B ln ln s k ρ-⋅≥10定义3 称()()B ln B R ρ-= (13) 为迭代法(4)的收敛速度.由此看出,()1<B ρ愈小,速度R(B)就愈大,(12)式成立所需的迭代次数也就愈少.由于谱半径的计算比较困难,因此,可用范数‖B ‖来作为()B ρ的一种估计. 定理5 如果迭代矩阵的某一种范数1<=q B γ,则对任意初始向量()0x,迭代公式(4)收敛,且有误差估计式γγ||||q q||x x ||)k ()k ()k (1x x 1-*--≤- (14)或γγ||||q q ||xx ||)()(k)k (01x x 1--≤-* (15)证明 利用定理4和不等式()γρB B ≤,可以立即证得收敛的充分条件,下面推导误差估计式.因为*x 方程组的精确解,则f Bx x +=**又()1<=≤q B B γρ,则由第六节定理7可知,I-B 可逆,且()q B ||B I ||-=-≤--11111γγ由于()()f Bx f Bx x x k k --+=-*-*1()()f B I B Bx k 11----= ()()()[]f x B I B I B k ---=--11()()()[]kk x x B I B --=--11两边取范数即得()γγγγγ||||qq||||B I B ||x x ||)k ()k ()k ()k ()k (111x x 1x x ---*--≤--≤-又由于()()()()()()()()011211x x B x x B x x k k k k k -=-=-----所以()()()()γγγ0111x x B x x k k k -≤---,即γγ||||q q ||xx ||)()(k)k (01x x 1--≤-*有了定理5的误差估计式,在实际计算时,对于预先给定的精度ε,若有()()εγ<-+k k x x 1则就认为()1+k x是方程组满足精度的近似解.此外,还可以用第二个估计式(15)来事先确定需要迭代的次数以保证()ε<k e第二节 雅可比迭代法与高斯—塞德尔迭代法一、雅可比迭代法设线性方程组b Ax = (1)的系数矩阵A 可逆且主对角元素nn a ,...,a ,a 2211均不为零,令 ()nn a ,...,a ,a diag D 2211=并将A 分解成()D D A A +-= (2)从而(1)可写成()b x A D Dx +-= 令11f x B x +=其中b D f ,A D I B 1111--=-=. (3) 以1B 为迭代矩阵的迭代法(公式)()()111f x B x k k +=+ (4)称为雅可比(Jacobi)迭代法(公式),用向量的分量来表示,(4)为⎩⎨⎧[],...,,k ,n ,...,i x a ba xnij j )k (j j i iii)k (i21021111==∑-=≠=+(5)其中()()()()()Tn x ,...x ,x x 002010=为初始向量. 由此看出,雅可比迭代法公式简单,每迭代一次只需计算一次矩阵和向量的乘法.在电算时需要两组存储单元,以存放()k x 及()1+k x.例1 用雅可比迭代法求解下列方程组⎪⎩⎪⎨⎧=+--=-+-=--2453821027210321321321.x x x .x x x .x x x解:将方程组按雅可比方法写成⎪⎪⎩⎪⎪⎨⎧++=++=++=840202083020107202010213312321.x .x .x .x .x .x .x .x .x取初始值()()()()()()TT,,,x ,x ,x x0000302010==按迭代公式()()()()()()()()()⎪⎪⎩⎪⎪⎨⎧++=++=++=+++840202083020107202010211331123211.x .x .x .x .x .x .x .x .x k k k k k k k k k进行迭代,其计算结果如表1所示表1二、高斯—塞德尔迭代法由雅可比迭代公式可知,在迭代的每一步计算过程中是用()k x 的全部分量来计算()1+k x的所有分量,显然在计算第i 个分量()1+k ix 时,已经计算出的最新分量()()1111+-+k i k x ,...,x 没有被利用,从直观上看,最新计算出的分量可能比旧的分量要好些.因此,对这些最新计算出来的第1+k 次近似()1+k x的分量()1+k jx 加以利用,就得到所谓解方程组的高斯—塞德(Gauss-Seidel )迭代法.把矩阵A 分解成U L D A --= (6)其中()nna ,...,a ,a diag D 2211=,U ,L --分别为A 的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成 ()b Ux x L D +=-即22f x B x +=其中()()b L D f ,U L D B 1212---=-= (7)以2B 为迭代矩阵构成的迭代法(公式)()()221f x B x k k +=+ (8)称为高斯—塞德尔迭代法(公式),用 量表示的形式为⎩⎨⎧[],...,,k ,n ,,i x a x a b a xi j n i j )k (j ij )k (j ij i ii)k (i21021111111==∑∑--=-=+=++(9)由此看出,高斯—塞德尔迭代法的一个明显的优点是,在电算时,只需一组存储单元(计算出()1+k ix 后()k i x 不再使用,所以用()1+k ix 冲掉()k i x ,以便存放近似解.例2 用高斯——塞德尔迭代法求解例1.解:取初始值()()()()()()TT,,,x ,x ,x x 0000302010==,按迭代公式 ()()()()()()()()()⎪⎩⎪⎨⎧++=++=++=++++++840202083020107202010121113311123211.x .x .x .x .x .x .x .x .x k k k k k k k k k进行迭代,其计算结果如下表2表2从此例看出,高斯—塞德尔迭代法比雅可比迭代法收敛快(达到同样的精度所需迭代次数少),但这个结论,在一定条件下才是对的,甚至有这样的方程组,雅可比方法收敛,而高斯—塞德尔迭代法却是发散的. 三、迭代收敛的充分条件定理1 在下列任一条件下,雅可比迭代法(5)收敛. ①111<∑=≠=∞nij j ii ij ia a max B ;② 1111<∑=≠=nij i iiij ja a max B ;③ 111<∑=-≠=∞-nji i jjij jTa a max AD I定理2 设21B B ,分别为雅可比迭代矩阵与高斯—塞德尔迭代矩阵,则∞∞≤12B B (10)从而,当111<∑=≠=∞nij j iiij ia a max B时,高斯—塞德尔迭代法(8)收敛. 证明:由21B B ,的定义,它们可表示成()U L D B +=-11()()U D L D I U L D B 11112-----=-=用e 表示n 维向量()T,...,,e 111=,则有不等式 eB e B ∞≤11UD L D B 111--+=这里,记号|·|表示其中矩阵的元素都取绝对值,而不等式是对相应元素来考虑的,于是()()()Ie B L D I eL D B e U D ∞------≤-=111111容易验证()11==--nnL D L D所以,L D I 1--及L D I 1--可逆,且 ()()()1111111111-----------=++≤+++=-L D I LD ...L D I L D ...L D I LD I n n()I L D I ≥---11从而有()()((){}e I B L D I LD I eU D LD I e B ∞----------≤⋅-≤111111121{()()}eB eLD I I B I ∞--∞≤-⋅--=11111因此必有∞∞≤12B B因为已知11<∞B 所以12<∞B .即高斯—塞德尔迭代法收敛.若矩阵A 为对称,我们有定理3 若矩阵A 正定,则高斯—塞德尔迭代法收敛. 证明:把实正定对称矩阵A 分解为 TL L D A --=()TL U =,则D 为正定的,迭代矩阵()T L L D B 12--=设λ是2B 的任一特征值,x 为相应的特征向量,则()()x x L L D T λ=--1以L D -左乘上式两端,并由TL L D A --=有()Ax x L Tλλ=-1用向量x 的共轭转置左乘上式两端,得()Ax x x L xTTT--=-λλ1 (11)求上式左右两端的共轭转置,得Ax x x L x T T ----=⎪⎭⎫ ⎝⎛-λλ1以λ--1和λ-1分别乘以上二式然后相加,得()()Axx x L L x T T T -----⎪⎭⎫ ⎝⎛-+=+⎪⎭⎫ ⎝⎛--λλλλλλ211由TL L D A --=,得()()Axx x A D x T T -----⎪⎭⎫ ⎝⎛-+=-⎪⎭⎫ ⎝⎛--λλλλλλ211即()Ax x x L x TT---=-λλλ2211 (12)因为A 和D 都是正定的,且x 不是零向量,所以由(11)式得1≠λ,而由(12)式得012>-λ, 即1<λ,从而()12<B ρ,因而高斯—塞德尔迭代法收敛. 定义1 设()n n ij a A ⨯=为n 阶矩阵.① ①如果n,...,i ,a a nij i j ij ii 21=∑>≠= (13)即A 的每一行对角元素的绝对值都严格大于同行其他元素绝对值之和,则称A 为严格对角优势矩阵.② ②如果n,...,i ,a a nij i j ij ii 21=∑≥≠=且至少有一个不等式严格成立,则称A 为弱对角优势矩阵.例如⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-310131012是严格对角优势矩阵,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--310121011是弱对角优势矩阵.定义2 设()n n ij a A ⨯=是n 阶矩阵,如果经过行的互换及相应列的互换可化为⎥⎦⎤⎢⎣⎡2212110A A A ,即存在n 阶排列矩阵P,使⎥⎦⎤⎢⎣⎡=2212110A A A AP P T其中2211A ,A 为方阵,则称A 是可约的,否则称A 为不可约的.A 是可约矩阵,意味着b Ax =可经过若干次行列重排,化为两个低阶方程组,事实上, b Ax =可化为 ()b P x P AP P TTT=,记()()()()⎥⎦⎤⎢⎣⎡==⎥⎦⎤⎢⎣⎡==2121d d d b P ,y y y x P T T于是,求解b Ax =化为求解()()()()()⎪⎩⎪⎨⎧=+=+22221212111d y A d y A y A可以证明,如果A 为严格对角优势矩阵或为不可约弱对角优势矩阵,则A 是非奇异的.定理4 如果A 为严格对角优势矩阵或为不可约弱对角优势矩阵,则对任意()0x ,雅可比迭代法(4)与高斯—塞德尔迭代法(8)均为收敛的.证明:下面我们以A 为不可约弱对角优势矩阵为例,证明雅可比迭代法收敛,其他证明留给读者.要证明雅可比迭代法收敛,只要证()11<B ρ,1B 是迭代矩阵. 用反证法,设矩阵1B 有某个特征值μ,使得1≥μ,则()01=-B I det μ,由于A 不可约,且具有弱对角优势,所以1-D 存在,且()()D A D D A D I I B I -+=--=---μμμ111从而()0=-+D A D det μ另一方面,矩阵()D A D -+μ与矩阵A 的非零元素的位置是完全相同的,所以()D A D -+μ也是不可约的,又由于1≥μ,且A 弱对角优势,所以n,...,i ,a a a ni j i j ij ii ii 21=∑≥≥≠=μ并且至少有一个i 使不等号严格成立.因此,矩阵()D A D -+μ弱对角优势,故()D A D -+μ为不可约弱对角优势矩阵.从而()0≠-+D A D det μ 矛盾,故1B 的特征值不能大于等于1,定理得证.第三节 超松驰迭代法逐次超松驰迭代法(Successive Over Relaxation Me thod,简称SOR 方法)是高斯—塞德尔方法的一种加速方法,是解大型稀疏矩阵方程组的有效方法之一,它具有计算公式简单,程序设计容易,占用计算机内存较少等优点,但需要较好的加速因子(即最佳松驰因子).下面我们首先说说松驰一词的含意,再利用它来解释雅可比迭代法与高斯—塞德尔迭代法,最后给出逐次超松驰迭代法的推算公式和收敛性条件.设线性方程组b Ax = (1)其中()n n ij a A ⨯=可逆 ,且对角元素nn a ,...,a ,a 2211均不为0,如果()Tn x ,...x ,x x 21= 是(1)的近似解,一般说来n,...,i ,x a b r nj j ij i i 211=∑-== (2)不是0,这可理解为x “不合格”,把不合格的x 更换为新的近似解X ,希望新的残向量r ’“变小”,想实现这一点的简单方法是每一次只把x 在(2)中的一个式(例如第i 个)中的一个分量进行更换,使新的残向量的第i 个分量变成0.这样,我们就说第i 个方程被松弛了.一般都把第i 个式中第i 个元i x 换掉,这相当于求ξ使∑--∑-=+=-=ni j jij ii i j j ij i x a a x a b 1110ξ (3)因此,雅可比迭代法将()k x代换为()1+k x的过程,实际上是对1≤i ≤n 把()()∑-==nj k jij i k ix a b r 1(4)变为()()()∑--∑-=+=+-=ni j k jij k iii i j k jij i x a x a x a b 11110 (5)的过程(松驰的过程).由()k x代换为()1+k x还可看作是()()修正向量+=+k k x x 1 (6)而修正量与修正公式可写成为()()()n,...,i ,r a x x k i iik ik i2111=+=+ (7)倘若在修正量之前乘以一个因子ω,即以第i 个分量()()()n,...,i ,r a x x k i iik ik i2111=+=+∧ω (8)为向量作新的近似向量(第k+1次迭代向量)代替原来的()k x 就得到所谓带松驰因子ω的迭代法.注意到,用(8)中的()1+∧k ix 代替(4)中的()k i x ,一般并不能使()()()()∑--∑-=+=+∧-=+∧ni j k jij k i ii i j k jij i k ix a x a x a b r 11111 (9)为0,而为()()()k i k ir r ω-=+∧11 (10)在(8)中取1=ω, ()1+∧k ix 就是(7)中的()1+k x,恰好使新的残量()1+∧k ir 为0,这就使第i 个方程松驰了;如1>ω,则用()1+∧k i x 代换第i 个方程中的()k i x 将使残量由()k ir 变成与()k i r 有不同符号的新残量()1+∧k ir ,于是我们就说第i 个方程被松驰过头了(超松驰),或说()k i x 被修改过分了(超过了使残量正好为0的程度);如1<ω,则用()1+∧k ix 代换第i 个方程中的()k i x 时,新残量()1+∧k ir 与()k i r 同号,并且当0>ω时,它的绝对值小于()k i r 之绝对值,于是我们不妨认为第i 个方程还松驰得不够(低松驰)或称()k i x 被修改得不够,不管是超松驰还是低松驰(1>ω或1<ω),我们一概都称为超松驰,即1≠ω时,我们称⎩⎨⎧()n,...,,k ,n ,...,i x a b a xxn j )k (j ij i ii)k (i)k (i21021111==∑-+==+ω(11)为带松驰因子ω的同时迭代法(公式).带松驰因子ω的同时迭代法用处并不大,讲它的目的只是为了解释迭代,修改和松驰的含意,使我们能容易懂得什么是逐次超松驰法.下面介绍什么是逐次超松驰法.类似于高斯—塞德尔迭代法,在(11)式中用新的()1+k jx 代替旧的()k jx ,i ,...,j 121-= 可得⎩⎨⎧()n,...,,k ,n ,...,i x a x a b a xxn i j )k (j ij i j )k (j ij i ii)k (i)k (i2102111111==∑-∑-+==-=++ω(12)称为带松驰因子ω的逐个法或逐个超松驰迭代法(公式).显然,(12)式可改写成()()()()111+++-=k i~k ik ix x x ωω (13)其中()∑-∑-==-=++n i j )k (j ij i j )k (j ij i ii)k (i~x a x a b a x 11111为高斯—塞德尔迭代所得,所以逐个超松驰迭代法是高斯—塞德尔迭代法的一种加速方法.由(12)式()()∑-∑-+-==-=++nij )k (j ij i j )k (j ij i )k (iii )k (iii x a xa b xa xa 11111ωω用分解式U L D A --=,则上式为()()∑-∑-+-==-=++nij )k (j ij i j )k (j ij )k ()k (x a xa b DxDx11111ωω即ωωf x B x )k ()k (+=+1 (14) 其中[]U D )()L D (B ωωωω+--=-11b )L D (f 1--=ωωω (15)(14)为超松驰迭法(公式)的矩阵形式ωB 称为其迭代矩陈例:用逐次超松驰迭代法求解方程组⎪⎩⎪⎨⎧=+--=-+-=--2453821027210321321321.x x x .x x x .x x x解:取()()()()()()TT,,,x ,x ,x x 0000302010==,迭代公式 ()()(()()())()()(()()())()()(()()())⎪⎪⎪⎩⎪⎪⎪⎨⎧-++⋅+=+++⋅+=++-⋅+=++++++k k k k k k k k k k k k k k k x x x .x x x x x .x x x x x .x x 312113133211212321111524512103810121027101ωωω取0551.=ω计算结果为表3表3对ω取其他值,计算结果满足误差510-∞≤-*)k (x x的迭代次数如下:表4从此例看到,松驰因子选择得好,会使超松驰迭代法的收敛大大加速.使收敛最快的松驰因子称为最佳松驰因子.本例的最佳松驰因子为0551.=ω,一般地,最佳松驰因子*ω应满足()()ωωρρB min B =*最佳松驰因子理论是由Young(1950年)针对一类椭圆型微分方程数值解得到的代数方程组b Ax =(具有所谓性质A 和相容次序)所建立的理论,他给出了最佳松驰因子公式()J pt B 2112ρω-+=其中J B 是雅可比迭代矩阵.定理1 设n ,..,i ,a ii 210=≠,且超松驰迭代法(12)收敛,则松驰因子20<<ω (16)证明:设SOR 方法收敛,根据迭代法收敛的充要条件可知,()1<ωρB . 设ωB 的特征值为n ,...,λλλ21,则 ()(())nn B ...B det ωωρλλλ≤=21即()(())11<≤nnB B d e t ωωρ而()(())(())U D det LD det B det ωωωω+-⋅-=-11()nω-=1所以11<-ω该定理说明对于解一般线性方程组(1)()n ,...,,i ,a ii 210=≠,超松弛迭代法只有取松弛因子ω在()20,范围内才能收敛.反过来,对A 是正定矩阵有下面结果. 定理2 设A 是对称正定矩阵,且20<<ω,则超松弛迭代法(12)收敛. 证明:设λ是ωB 的任一特征值,在上述假定下,若能证明1<λ,那么定理得证. 事实上,设x 为λ对应特征向量,即 0≠=x ,x x B λω亦即()()()x L D x U D ωλωω-=+-1 考虑数量积 (()())(())x ,x L D x ,x U D ωλωω-=+-1则()()()()()x ,Lx x ,Dx x ,Ux x ,Dx x ,Dx ωωωλ-+-=显然()012>≡∑==σni i iix ax ,Dx记()βαi x ,Lx +=- 由于TA A =,所以T L U =()()βαi x ,Lx Lx ,x x ,Ux ________-=⎪⎭⎫ ⎝⎛-=-=-()()()ασ20+=--=<x ,x U L D x ,Ax所以()()ωβαωσωβωωσσλi i +++--=2 从而()()2222222βωαωσβωαωωσσλ+++--=当20<<ω时()2αωωσσ--()()()0222<-+=+-ωασωσαωσyy即1<λ.。
线性方程组的迭代式求解方法

线性方程组的迭代式求解方法迭代法解方程的基本原理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 。
计算方法 线性方程组的迭代解法 基本的矩阵分裂迭代法ch06b r

13
对角占优矩阵
定义:设 ARnn,若 | aii |
j 1, j i
n
| aij |
( i = 1, 2, ... , n )
且至少有一个不等式严格成立,则称 A 为 弱对角占优; 若所有不等式都严格成立,则称 A 为 严格对角占优。
14
可约与不可约
定义:设 ARnn,若存在排列矩阵 P 使得
j i 1
a
n
ij
x
(k ) j
aii
4
i = 1, 2, … , n, k = 0, 1, 2, …
Gauss-Seidel 迭代
( k 1) (k) (k) (k) x1 b1 a12 x2 a13 x3 a1 n xn a11 ( k 1) (k) (k) (k) x b a x a x a x 2 2 21 1 23 3 2 n n a22 ( k 1) (k) (k) (k) x b a x a x a x n n1 1 n2 2 n , n 1 n 1 ann n
x
(k) i
i 1 n ( k 1) (k) bi aij x j aij x j aii j 1 j i
为了得到更好的收敛效果,可在修正项前乘以一个 松弛因子
,于是可得迭代格式
xi( k 1)
i 1 n (k) ( k 1) (k) xi bi aij x j aij x j aii j 1 j i
18
举例
1 a a 解法二: Jacobi 的迭代矩阵为 J a 1 a a a 1
分析04-线性方程组迭代解法

x (1) Bx ( 0 ) g (7.2, 8.3, 8.4 ) T 0 0.1 0.2 7.2 7.2 9.71 ( 2) (1) x Bx g 0.1 0 0.2 8.3 8.3 10.70 0.2 0.2 0 8.4 8.4 11.50 继续迭代下去,迭代结果见表3-1:
k
则称序列 A( k ) 收敛于矩阵A, 记为 lim A( k ) A
k
与向量序列类似,也有:
定理2
设A
(k )
则矩阵序列A 均为n阶方阵, 且矩阵序列A 收敛于A lim a
(k ) (k ) k
(k ) ( aij )(k
1,2, , ), A (aij )均为n阶方阵
( k 1) 1 ( k ) ( x1 ( x2 2 x3k ) 72 ) 10 ( k 1) 1 ( k ) ( x2 ( x1 2 x3k ) 83) 10 ( k 1) 1 ( k ) ( x3 ( x1 x2k ) 42 ) 5
I I D (L U ) D (L U ) 式(3-5)为简单迭代法的矩阵形式。
1
1
10 x1 x 2 2 x3 72 Jacobi迭代法举例 x 10 x 2 x 83 1 2 3 例1 用Jacobi迭代法求解线性方程组: x1 x 2 5 x3 42 解:由第一个方程解x1,第二个方程解x2,第三 个方程解x3得Joacbi迭代格式为: 其矩阵形式为:
7 8 9
10.9944 10.9981 10.9994
11.9981 11.9941 11.9994
第五章 线性方程组的迭代法

(k ) (k ) (k ) (k) T 1 i n
( k 1)
n
(L U ) x
aij x j
(k)
(k )
b ,写成分量
b (i 1, 2,, n) 于是,解 Ax b的Jacobi迭代法的计算公式为: Jacobi迭代法 由 aii 0(i 1, 2,, n) ,选取 M 为 A 的对角元素部分, 即选取 M D , D N ,可得Jacobi迭代公式: A
5.1 引言
已知其精确解为: (1,1,1) 。现将方程组改写成如下的 x 1 1 7 等价形式: x x x
* T
2 3 1 9 9 9 1 1 8 x1 x3 x2 10 10 10 1 1 13 x1 x2 x3 15 15 15
1 (k ) 1 (k ) 7 ( k 1) x x2 x3 1 9 9 9 1 (k ) 1 (k ) 8 ( k 1) 由此建立迭代格式(公式): x2 10 x1 10 x3 10 1 (k ) 1 ( k ) 13 ( k 1) x3 x1 x2 15 15 15
nn ij
xM
(0)
1
Nx M b
1
这样,可构造迭代法:
取x 为初始向量 ( k 1) (k ) x Bx f (k 0,1,)
其中: M N M (M A) I M A, f M b, 称 B I M A B 为迭代法的迭代矩阵,选取 M 阵,就得到解 Ax b 的各 种迭代法。
计算方法 5线性方程组的迭代解法【精选】
x2 x3
x3 x4
= =
a2 a3
x4 x5 = a4
x1 = a1 a2 a3 a4 x5
x2 = a2 a3 a4 x5 x3 = a3 a4 x5
x4 = a4 x5
( x5为任意实数 ).
例5 设有线性方程组
线性方程组的迭代法主要有Jocobi迭代法、 Gauss-Seidel迭代法和超松弛(SOR)迭代法.
迭代法的特点
若在求解过程中 xkx*(k),由 xk+1=(xk)产生 的迭代 xk向x*的逼近 ,在数次迭代求解之后,由 于机器跳动产生的xk值误差或是有效数字产生的 舍入误差,都会在第k+1次迭代计算中自动弥补 过来或逐步纠正过来。因此,在 迭代求解过程中 产生的各种误差是可以忽略的,即迭代求解无累 积误差,实际上, xk只是解的一个近似,机器的 舍入误差并不改变它的此性质。
谱半径:
设 nn 阶矩阵A的特征值为 i(i=1,2,3……n),则称 (A)=MAX | i| 为矩阵A的谱半径.
1 in
矩阵范数与谱半径之间的关系为: (A) ||A||.
5 几个定理及定义
Lim Lim 定义 :
|| x(k ) x(*) ||= 0
x(k ) = x(*)
1
2
(1 )
0
0
(1 )(2 )
(1
)(1
)2
(1) 当 = 1时,
1 1 1 1 B ~ 0 0 0 0
0 0 0 0
R(A) = R(B) < 3,方程组有无穷多解.
第六章 线性方程组的迭代法
( k 1) B ( k ) ,
( k ) B k ( 0) (k 0,1,2,).
由6.1节可知,研究迭代法(3.3)收敛性问题就是要研究 迭代矩阵 B满足什么条件时,有
lim B k 0 (零矩阵).
k
定义2
Ax b 求解x M 1 Nx M 1b.
可构造一阶定常迭代法
x ( 0 ) (初始向量 ), ( k 1) x Bx ( k ) f , k 0,1,2,
(2.3)
其中
B M 1 N M 1 ( M A) I M 1 A,
f M 1b.
(1.4)
简写为
x ( k 1) B0 x ( k ) f ,
其中 k 表示迭代次数 (k 0,1,2, ). 迭代到第10次有
x (10) (3.000032,1.999838, 0.9998813)T ;
x1(1)=0;x2(1)=0;x3(1)=0; for k=1:10 x1(k+1)=(3*x2(k)-2*x3(k)+20)/8; x2(k+1)=(-4*x1(k)+x3(k)+33)/11; x3(k+1)=(-6*x1(k)-3*x2(k)+36)/12; end
1 x1 8 (3 x2 2 x3 20), 1 ( 4 x1 x3 33), x2 11 x3 1 ( 6 x1 3 x2 36). 12
(1.3)
或写为 x B0 x f , 其中
0 4 B0 11 6 12 3 8 0 3 12 2 8 1 , 11 0 20 8 33 f . 11 36 12
第三章 线性方程组的迭代解法
定理3.2 若 ||B|| =q<1,则由迭代格式x(k+1)=Bx(k)+f 和任意初始 向量x(0)产生的迭代序列x(k)收敛于准确解x*. 本定理是迭代法收敛的充分条件,它只能判别收敛的情况,当 ||B|| ≥1时,不能断定迭代不收敛.但由于||B||,特别是||B|| 1和||B|| ∞ 的计算比较容易,也不失为一种判别收敛的方法。 同时当||B|| <1时可以用来估计迭代的次数,或用来设置退出 计算的条件. 这时有定理3.3和定理3.4 定理3.3 若||B|| =q<1,则迭代格式x(k+1) =Bx(k)+f产生的向量序 k 列 {x(k)}中 q (k ) * (0) (1 )
3.2 几种常用的迭代法公式 3.2.1 Jacobi迭代法
先看一个算例:
10 x 1 2 x 2 x 3 3 例1 2 x 10 x x 15 1 2 3 x 2 x 5 x 10 1 2 3
从以上三个方程中分别解出x1, x2, x3
|| x x || 1 q || x x || ( 3 . 17 )
利用此定理可以在只计算出x(1)时,就估计迭代次数k,但估 计偏保守,次数偏大. 称为事前误差估计. 13 结束
x2
x3
0
0
可见它对这一方程组比Jacobi迭代法收敛快一些。
Gauss-Seidel迭代法的公式如下:
xi
( k 1)
bi a ii
1 i 1 a ij x (j k 1 ) a ii j 1
n
a ij x j
(k )
j i 1
i 1, 2 , n k 0 ,1, 2 ,
线性方程组求解的迭代算法
线性方程组求解的迭代算法线性方程组是数学中常见的问题之一,求解线性方程组是很多科学和工程领域中必需的基本任务。
而迭代算法是一种常见的求解线性方程组的方法之一,通过不断逼近线性方程组的解来达到求解的目的。
本文将介绍一些常见的线性方程组迭代算法及其原理。
一、雅可比迭代法雅可比迭代法是最早被提出的线性方程组迭代算法之一。
其思想是通过不断迭代,在每一步都利用先前求得的近似解来逼近方程组的解。
具体算法如下:假设给定的线性方程组为Ax=b,其中A为系数矩阵,b为常数向量,x为未知向量。
1. 首先,将方程组转化为x=D^-1(b-Rx),其中D为一个对角矩阵,R为矩阵A的剩余部分。
2. 设定一个初始解向量x0。
3. 迭代计算:重复执行以下步骤,直到满足终止条件。
a. 计算下一次迭代的解向量:x_k+1 = D^-1(b-Rx_k),其中k为当前迭代的次数。
b. 检查终止条件是否被满足,如果是,则停止迭代;否则,返回步骤a。
雅可比迭代法的收敛性与系数矩阵A的特征值有关。
当A是严格对角占优矩阵时,迭代法收敛。
二、高斯-赛德尔迭代法高斯-赛德尔迭代法是雅可比迭代法的一种改进方法。
在每一次迭代中,新的解向量x_k+1的计算会利用到之前已经计算得到的近似解向量的信息,从而加快迭代的速度。
具体算法如下:1. 设定一个初始解向量x0。
2. 迭代计算:重复执行以下步骤,直到满足终止条件。
a. 对于每个方程i,计算下一次迭代的解向量的每个分量:x_k+1[i] = (1/A[i][i]) * (b[i]-Σ(A[i][j]*x_k[j],其中j为1到i-1之间的所有整数。
b. 检查终止条件是否被满足,如果是,则停止迭代;否则,返回步骤a。
高斯-赛德尔迭代法相比于雅可比迭代法,在每一次迭代中都会利用到之前计算得到的近似解向量的信息,因此收敛速度更快。
三、超松弛迭代法超松弛迭代法是对雅可比迭代法和高斯-赛德尔迭代法的进一步改进。
通过引入松弛因子ω,可以加速迭代的收敛速度。