3第三章 线性方程组迭代解法
第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
第三章 线性方程组的迭代解法
其中
v x (0) = ( x1(0) , x2 (0) ,…, xn (0) )
是迭代初值。 是迭代初值。
写成矩阵形式: 写成矩阵形式: 矩阵形式
A=
D
U
v v Ax = b ⇔ ⇔ ⇔
v v (D + L + U )x = b v v v Dx = −( L + U ) x + b v v v −1 −1 x = −D (L + U )x + D b
( ( a 111 ) a 121 ) ... a 1( 1 ) n
A
( ( ( a ij2 ) = a ij1 ) − m i 1 a 1 1j ) (2) b i = b i( 1 ) − m i 1 b1( 1 ) ( i , j = 2 , ..., n )
− 共进行 n ?1 步
(1 ( ( a12) ... a11) x1 b11) n b( 2) ( 2) ( 2) a22 ... a2n x2 2 . . = . ... . . . . . . ( n) (n ann) xn bn
… … …
…
( ( ( ( ( xnk +1) = 1 (−an1 x1k +1) − an 2 x2k +1) − an3 x3k +1) − L − ann−1 xnk +1) + bn ) −1 ann v v ( k +1) v ( k +1) v (k ) −1 −1 写成矩阵形式 矩阵形式: 写成矩阵形式: x = − D ( Lx + Ux ) + D b v (k +1) v (k ) v ⇔ (D + L)x = −U x + b v v ( k +1 ) −1 v ( k ) −1 ⇔ x = − ( D + L ) Ux + ( D + L ) b v Gauss-Seidel B vf v ( k + 1) v(k ) 迭代阵
chapter03线性代数方程组迭代解法PPT课件
不完全分解
当矩阵无法进行完全分解时,迭代法可以作为 替代方案进行求解。
数值稳定性
对于某些数值不稳定的问题,迭代法可以提供更稳定的近似解。
迭代解法的优缺点分析
优点
适用于大规模问题,计算量相对较小; 适用于不完全分解和数值不稳定问题; 能够提供近似解,满足工程精度要求。
缺点
需要设定初始解向量或近似解向量; 迭代过程可能不收敛或收敛速度慢; 对于某些问题可能无法得到准确解。
SOR方法案例分析
01
SOR(Successive Over-Relaxation)方法是一种改进
的迭代方法,通过引入松弛因子来加速收敛。
02
SOR方法适用于系数矩阵为稀疏、对称正定的情况,
广泛应用于实际工程问题。
03
SOR方法的收敛速度与松弛因子的选择有关,选择合
适的松弛因子可以加快收敛速度。
Jacobi方法案例分析
松弛方法
松弛方法是另一种改进的迭代 算法,用于求解线性代数方程
组。
该方法通过引入松弛因子来调 整迭代过程中的系数矩阵,以
提高收敛速度和稳定性。
松弛方法适用于系数矩阵为非 对角占优的情况,尤其在处理 稀疏矩阵时具有优势。
总结词:松弛方法是一种适用 于非对角占优矩阵的迭代算法 ,通过调整松弛因子提高收敛 速度和稳定性。
收敛速度与系数矩阵
收敛速度与系数矩阵的特征值和范数有关,不同的迭 代法适用于不同的系数矩阵情况。
加速迭代法
为了提高迭代法的收敛速度,可以采用一些加速技巧, 如预处理技术、共轭梯度法等。
03 几种常见的迭代解法
Gauss-Seidel迭代法
Gauss-Seidel方法是一种迭 代算法,用于求解线性代数
第三章 迭代法s4 解线性方程组的迭代法
得 x(1) = ( 0.5000, 2.8333, -1.0833 )T
x(9) = ( 2.0000, 3.0000, -1.0000 )T
举例(续)
SOR 迭代格式
( x1( k 1) (1 ) x1( k ) 1 x2k ) 2 ( k 1) (k ) ( k 1) (k ) x2 (1 ) x2 8 x1 x3 3 ( k 1) ( ( x3 (1 ) x3k ) 5 x2k 1) 2
( k ( k 在计算 xi( k 1) 时,如果用 x1 k1) ,, xi(11) 代替 x1 k ) ,, xi(1) ,则 可能会得到更好的收敛效果。此时的迭代公式为
x1( k 1) ( x2k 1) ( k 1) xn
( ( ( b1 a12 x2k ) a13 x3k ) a1n xnk ) a11 ( ( b2 a21 x1( k 1) a23 x3k ) a2 n xnk ) a22
解得
x
x ( k 1) (1 ) x ( k ) D 1 b Lx ( k 1) Ux ( k )
( k 1)
D L
1
1
(1 ) D U x
(k )
D L b
1
GS D L
Jacobi 迭代 x( k 1) D1 ( L U ) x( k ) D1b
M = D, N = M – A = -(L + U)
GS 迭代
x
( k 1)
L D Ux
1
(k )
线性方程组的迭代式求解方法
线性方程组的迭代式求解方法迭代法解方程的基本原理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 。
线性方程组迭代解法
§3.2(I) Jacobi 迭代法 (Jacobi iterative method)
数学问题的描述
Jacobi迭代法的主要步
骤
1. The mathematical form 2. The process of Jacobi iterative method
数学问题的描述
Ax=b x= M-1 Nx + M-1 b
B= M-1 N, f= M-1 b
注:选取M阵,就得到解 Ax=b 的各种迭代 法 Re.mark: We can obtain various iterative schemes
by choosing different M.
本章重点介绍三个迭代法,即:
0满足(k什么条∞)件时有
Bk+1 0
The convergence of {x(k) } Bk+1 0
The condition ?
基本迭代法 the based iterative technique
设有 Ax b, 其中AA为非(a奇ij )异矩Rn阵n . 将A分裂为 A M N ,
The process of iterative method
解线性方程组迭代法的主要步骤是:
1. 把所给的线性方程组Ax=b 化成如下形式的同解
方程组
Converting Ax=b into an equivalent form
x=Bx+f
(3-1)
2. 给出初始向量
X 0
x(0) 1
,
x20
Direct techniques are used for solving linear systems of small
分析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
线性方程组迭代解法
输入最大迭代次数N, k=1;误差ε ② 迭代
计算X ( E D A) X
(1)
1
(0)
D b
1
(1) (1) (1) (1) ③ 控制 如果||X(1)-X(0)||<ε,则输出X ( x1 , x2 xn )
否则 如果k<N ,k=k+1,置X(1) =X(0)转②继续; 如果k>=N ,算法失败。
ji
可写成形如
x
( k 1) i
(bi a x
j 1 (k ) ij j
i 1
j i 1
a x
n
(k ) ij j
) / aii
(i 1,2,, n) (3-9)
在Jacobi 迭代中,是用X(k)的全部分量来计算 X(k+1)的全部分量的。 我们应该注意到,在计算新分量xi(k+1)时,分量 x1(k+1), x2(k+1), … , xi-1(k+1)都已经算出。
由于Gauss-Seidel迭代法逐次用计算出来的新值 代替旧值,所以在收敛的条件下,它要比Jacobi迭 代法收敛速度快。
返回节
Gauss-seidel迭代法的主要步骤
分量计算步骤为:
① 准备
X (0) ( x1(0) , x2(0) xn(0) ) 输入A,b,迭代初值
输入最大迭代次数N, k=1;误差ε
按系数矩阵中 零元素的个数: 按未知量 的个数: 按系数矩 阵的形状
稠密线性 方程组
稀疏线性 方程组 低阶线性 方程组
对角占 优方程组
高阶线性 (如1000) 方程组
对称正定 方程组 三角形 方程组
第三章 解线性方程组的迭代法
(3 .4 )
, k 1, 2 , 3 ,
式(3.4)称为Gauss-Seidel迭代法,简称为G-S迭代法.
G-S迭代法也可记为
xi
( k 1)
1 a ii
( b i a ij x
j 1
i 1
( k 1)
j
a ij x
j i 1
n
(k )
j
)
, i 1, 2 , n , k 0 ,1, 2 ,
则有
A=D-L-U
于是线性方程组 Ax=b 可写成 (D-L-U)x=b 等价于 Dx=(L+U)x+b 或 x=D-1(L+U)x+D-1b
由此建立J迭代法迭代公式
x(k+1)=D-1(L+U)x(k)+D-1b 或写成
x(k+1)=Bx(k)+g 其中
1 B D (L U ) 0 a 21 a 22 a n1 a nn a 12 a 11 0 an2 a nn a1n a 11 a2n a 22 0
可见 ,J迭代法的迭代矩阵为
B 0 a 21 a 22 a n1 a nn
bn a nn )
T
a 12 a 11 0 a n2 a nn
a 1n a 11 a 2n a 22 0
若记
从而得迭代公式
a 13 ( k ) a 1n ( k ) a 12 ( k ) b1 ( k 1) x x2 x3 xn 1 a 11 a 11 a 11 a 11 a 23 ( k ) a 2n (k ) a 21 ( k ) b2 ( k 1) x1 x3 xn x 2 a 22 a 22 a 22 a 22 a n1 ( k ) a n2 (k ) a nn 1 ( k ) bn ( k 1) x1 x2 x n 1 x n a nn a nn a nn a nn
线性方程组迭代法
线性方程组迭代法
线性方程组迭代法,又称坐标下降法,是一种用于解线性方程组的迭代求解方法,常用于线性规划以及单纯形法等技术。
早在上世纪50年代,此方法就在解决
线性规划问题中得到了广泛应用,到目前为止,这种技术仍然广泛使用。
线性方程组迭代法是一种基于不断迭代调整变量,使目标函数达到最优结果的
迭代求解法。
其基本步骤是:
(1) 初始化目标函数变量:首先,初始化线性方程组的目标函数的变量;
(2) 评估梯度:选择合适的算法计算目标函数的梯度;
(3) 根据该梯度更新变量:更新目标函数变量的值,使得在此次更新之后的值
更加有利于满足线性方程组的要求;
(4) 重复上述步骤,直到目标函数足够接近最优值为止;
线性方程组迭代法能够快速地求解出线性规划问题的最优解,因此,它在计算
机上经常被用来优化问题,进而提高系统运行效率。
随着网络技术的发展,线性方程组迭代法在互联网领域得到了广泛应用,这在大大缩短了计算机程序的运行时间,提高了互联网的效率。
同时,线性方程组迭代法也有助于提高系统的性能,改善用户的体验,提升企业的品牌形象。
第三章 线性方程组的迭代解法
定理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 ,
3线性方程组的迭代解法
三、逐次超松弛法(SOR方法)
逐次超松弛法(Successive Over Relaxation Method)可 看成是Gauss-Seidel方法的加速,Seidel迭代法是SOR方法的 特例。将Seidel方法的迭代公式
改写为
x(k1) i
1 aii
(bi
i 1
a x(k 1) ij j
k
0
1
2
3
4
5
6
x1
0
2.5000 2.9773 3.0098 2.9998 2.9999 3.0000
x2
0
2.0909 2.0289 1.9968 1.9997 2.0001 2.0000
x3
0
1.2273 1.0041 0.9959 1.0002 1.0001 1.0000
可见Gauss-Seidel迭代法比Jacobi迭代法收敛要快一些。
x(k 1) BJ x(k ) f J
0
其中
a21
a22
BJ D1(L U )
an1 ann
a12 a11 0
an2 ann
a13 a11
a23 a22
7
a1n1 a11
a2n1 a22
ann1 ann
a1n
a11
a2 n
a22 , fJ D1b
0
二、 Gauss-Seidel 迭代法
x(k ) i
xi(k )
x(k ) i
1 aii
bi
i 1
a x(k 1) ij j
j 1
n
aij
x(jk
)
j i
为加快收敛,在增量 xi(k ) 前加一个因子
工程硕士 数值分析 第三章 线性方程组的迭代解法
证明: ① x * x ( k ) B( x * x ( k 1) ) B ( x * x ( k ) x ( k ) x ( k 1 ) ) (k ) (k ) ( k ) ( k 1) || x * x || q(|| x * x || || x x ||)
其中
x (0) ( x1(0) , x2(0) ,, xn (0) )
是迭代初值。
写成矩阵形式:
A=
D
U
Ax b
(D L U )x b Dx ( L U ) x b 1 1 x D (L U )x D b
L
写成迭代法形式
( k 1 ) (k ) 1 1 x D (L U )x D b
( k 1) (k ) 即 x Bx f
1
1 其中 B D ( L U ), f D b
B称为Jacobi 迭代阵
§3.2 高斯-赛德尔(Gauss - Seidel )迭代法
Jacobi法可能不收敛;
而Jacobi法收敛时, Gauss-Seidel法也
可能不收敛。
§3.3 超松弛迭代法
换个角度看Gauss - Seidel 方法: i 1 n 1 ( k 1) ( k 1) xi [bi aij x j aij x (jk ) ] aii j 1 j i 1 ri( k 1) ( k 1 ) (k ) x i( k ) 其中ri(k+1) = bi aij x j aij x j a ii j i j i
( ( ( ( ( x1k 1) 1 ( a12 x2k ) a13 x3k ) a14 x4k ) a1n xnk ) b1 ) a11 ( ( ( ( ( x2k 1) 1 ( a21 x1k 1) a23 x3k ) a24 x4k ) a2 n xnk ) b2 ) a22 ( ( ( ( ( x3k 1) 1 (a31 x1k 1) a32 x2k 1) a34 x4k ) a3 n xnk ) b3 ) a33
第3章_解线性方程组的迭代法
第3章 解线性方程组的迭代法§1 Jacobi 迭代法和Gauss-Seidel 迭代法(I )迭代概念(1) A x b = , n n A R ⨯∈, nb R ∈A M N =- , n n M R ⨯∈ , n n N R ⨯∈ ,M 非奇异M x N x b-= Mx Nx b =+11x M Nx M b --=+如果令 11,B M N f M b --==,那么上式写成(2) x B x f =+ 此方程组等价于A x b= 任给(0)n xR ∈,(1)(0)x B x f =+(2)(1)xB x f =+(3) (1)()k k xBx f +=+由(3)可以确定{}()k x ,当()*k n xx R →∈,即()*0k x x -→ 时,有**x Bx f =+*x 同样满足 *Ax b =定义 式(3) (1)()k k xBx f +=+称为求解 (1)Ax b = 的简单形式迭代法,B 称为迭代矩阵。
(II )Jacobi 迭代法Ax b =写成分量形式有1,1,2,,nij ji j a xb i n ===∑111,1,2,,i nii i ij j ijji j j i a x a x a xb i n -==+++==∑∑假定 0ii a ≠ ,那么有1111(),1,2,,i ni i ij j ij j j j i ii x b a x a x i n a -==+=--=∑∑迭代法为任给 (0)(0)(0)(0)12(,,,)T n n x x x x R =∈1(1)()()111(),1,2,,;0,1,i nk k k ii ij j ij j j j i ii xb a x a x i n k a -+==+=--==∑∑即:{}{}{}(1)()()()11122133111(1)()()()22211233222(1)()()()1122,111(1(1(k k k k n n k k k k n n k k k k n n n n n n n nnx b a x a x a x a x b a x a x a x a x b a x a x a x a +++--⎧=----⎪⎪⎪=----⎪⎨⎪⎪⎪=----⎪⎩上式迭代方法称为Jacobi 迭代 例1.1用Jacobi 迭代法解方程组123123123522142241x x x x x x x x x +-=⎧⎪++=⎨⎪-+=-⎩解 Jacobi 迭代方法为(1)()()()()123231(122)0.20.40.45k k k k k x x x x x +=-+=-+ (1)()()()()213131(2)0.50.250.254k k k k k x x x x x +=--=-- (1)()()()()312121(12)0.250.250.54k k k k k x x x x x +=--+=--+取 (0)3(0,0,0)T xR =∈()()()123000010.20.50.2520.10.51250.05110.0000080.4998820.000039120.0000340.4999880.000025130.0000150.5000020.000003k k k k x x x ------方程组 Ax b =的准确解为*3(0,0.5,0)Tx R =∈。
数值计算方法第三章 线性方程组迭代法
0,1,2,
取x1(0) 0, x2(0) 0,计算结果如下:
k0
x (k) 1
0
x (k) 2
0
1
2
3
4
0.66667 0.50000 0.61111 0.58333
0.50000 0.16667 0.25000 0.19445
5
6
7
8
9
0.60185 0.59722 0.60031 0.59954 0.6005
从而得迭代式 x(k1) (D L)1Ux (k) (D L)1 b, (k 0,1,2, )
上式中矩阵 M (D L)1U 为Gauss-Seidel迭代矩阵。
输入:A,b, n,
置初值: k 0; xi 0(i 1,L , n)
k k 1;e 0
3xx1 12xx22
2 1
精确到3位有效数字。
解 Gauss Siedel迭代格式为
x (k 1) 1
x (k 1) 2
(2 x2(k) ) / 3 (1 x1(k1) ) / 2
,
k
0,1,
2,L
取x1(0)
0,
x (0) 2
0, 计算结果如下:
0
101
0
1
10
2
1 0 0 101 1 1 5
0 0.1 0.2 0.1 0 0.2
0.2 0.2 0
取初值x (0) (0,0,0)T 代入迭代式
x(1) Bx (0) g (7.2,8.3,8.4)T x(2) Bx(1) g (9.17,10.70,11.50)T ,如此下去, x(9) Bx (1) g (10.9994 ,11.9994 ,12.9992 )T
数值分析第三章 线性方程组的迭代法
进行迭代, 可以逐步得出一个近似解的序列:
(k ) (k ) (k ) ( x1 , x2 , x3 )
(k=1, 2, …)
直到求得的近似解能达到预先要求的精度, 则迭代过程终止,以最后得到的近似解作为线
性方程组的解。
当迭代到第10次有
(10) (10) T x (10) ( x1(10) , x2 , x3 ) (3.000032 ,
如果
存在极限
x
(k )
x*
x
x
(k ) 1
,x
(k ) 2
,, x
(k ) T n
* 1
* * , x2 ,, x n
T
则称迭代法是收敛的,否则就是发散的。
收敛时,在迭代公式
x
( k 1)
Gx
(k )
(k )
d
*
(k 0,1,)
* *
中当 k 时, x
x , 则 x Gx d
(k ) k) ,, xi( 代替旧分量 x1( k ) , x2 , 就得到高斯-赛德尔迭 1
代法。其迭代法格式为:
x
( k 1) i
i 1 n 1 ( k 1) (k ) (bi aij x j aij x j ) aii j 1 j i 1
(i=1,2,…,n k=0,1,2,…)
1 i n
y
n k=M? y 输出迭代 失败标志 输出 y1, y2,… yn
§ 3.3 高斯-塞德尔(Gauss-Seidel)迭代法
§ 3.3.1 高斯-塞德尔迭代法的基本思想
在 Jacobi 迭代法中,每次迭代只用到前一次 的迭代值,若每次迭代充分利用当前最新的迭代值
迭代法的收敛定理
一、基本收敛定理
The Fundamental convergence theorem
Theorem :for any initial value x (0) R n, the fundamental iterative method defined
by x(k+1)=Bx(k)+f (k=0,1,2,…) converges to the unique solution of x=Bx+f if only if
1.25 x1 3.69 x2 12.37 x3 0.58 10.01x1 9.05 x2 0.12 x3 1.43 1.22 x 4.33x 2.67 x 3.22 1 2 3
无法直接判断Jacobi 迭代法和G-S迭代法的收敛性,但如果 将方程组的次序修改为
对角占优矩阵
diagonally dominant matrix
如果线性方程组AX=b的系数矩阵A具有某种特殊性质 (如对称正定、对角占优等),则可从A本身直接得出某些 迭代法收敛性结论。 定义3.1 如果矩阵A满足条件
aii aij
j i
(i 1,2,
, n)
(2)
则称A是严格对角占优阵(strictly diagonally dominant matrix); 如果矩阵A满足条件 aii aij (i 1,2, , n) (3)
在偏微分方程数值解中,有限差分往往导出对角占优的 线性代数方程组,有限元法中的刚性矩阵往往是对称正定阵, 因此这两个判断定理是很实用的。 对于给定的线性方程组,借助于定理3.3和定理3.4可 以直接判断Jacobi 迭代法和G-S迭代法的收敛性。 但同时应当注意,迭代法收敛与否与方程组中方程排列 顺序有关,如线性方程组
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ax = b
由克莱姆法则可知 (1)有唯一解.
School of Math. & Phys.
1
North China Elec. P.U.
Numerical Analysis
2011-8-17
J. G. Liu
第三章 线性方程组的迭代解法
直接法得到的解理论上是准确的,但是我们可以看得出,它们的 计算量都是n3数量级,存储量为n2量级,这在n比较小的时候还比较合 适(n<400),但是对于现在的很多实际问题,往往要我们求解具有 高阶系数矩阵的线性方程组,而且该矩阵往往是稀疏矩阵,即矩阵中 稀疏矩阵, 稀疏矩阵 含有大量的零元素。对于这类线性方程组,用直接法求解效率很低 (不保稀疏性)。这就要求我们使用迭代法 迭代法。 迭代法 迭代法 构造一个向量序列,使它的极限是所求线性方程组 的解向量。因此,即使计算过程是精确的,也不能通过有限步算术 运算求得方程组的精确解,只能是逐步逼近 逼近! 逼近 因此,迭代法需要考虑收敛性 精度控制 收敛性和精度控制 收敛性 精度控制问题! 本节主要介绍: 1、Jacobi迭代; 2、Gauss-Seidel迭代; 3、超松弛迭代法(SOR); 4、共轭梯度(CG) 法。 School of Math. & Phys. 2 North China Elec. P.U.
j = i +1
∑a x
ij
n
(k ) j
) = 1,2,⋯, n) (i
School of Math. & Phys.
9
North China Elec. P.U.
Numerical Analysis 迭代算法的收敛性: 迭代算法的收敛性:
(1) Jacobi迭代算法收敛 Gauss-Seidel迭代算法收敛 (2)
事实上,令 A = M − N ( M 非奇异 ) ,则
k→∞
k→∞
(4.1)
Ax = b
若 并且, 所以,
(M − N ) x = b
Mx = b + Nx
迭代格式
x = M −1 Nx + M −1b
给定初值x(0),可以构造序列 构造序列
#
(3.2) x ( k +1) = G x ( k ) + g = 0,1,2,⋯) (k x( k ) → x * x* = G x * + g Ax* = b
R(G ) = lim Rk (G ) = − ln ρ (G )。
k →∞
School of Math. & Phys.
4
North China Elec. P.U.
Numerical Analysis
2011-8-17
J. G. Liu
下面给出迭代格式(3.2)收敛的一个充分条件及误差估计, 定理2 定理 若 G < 1 ,则 (1) 方程组(3.1)的解x*存在并且唯一; (2) 对迭代格式(3.2)有
GJ < 1
2011-8-17
J. G. Liu
ρ (G J ) < 1;
ρ ( G G − S ) < 1;
Jacobi迭代收敛; Gauss-Seidel迭代收敛;
GG − S < 1
(3) 若A按行(列)严格对角占优 A按行 按行( 严格对角占优,则Jacobi迭代和Gauss-Seidel迭代收敛;# (4)
7 North China Elec. P.U.
A = D + L +U
School of Math. & Phys.
Numerical Analysis 非奇异, 若D非奇异,∀ x 非奇异
(0)
2011-8-17
J. G. Liu
∈ Rn,
由 Ax = b ⇔ ( D + L + U ) x = b 可以得到 1、Jacobi 迭代算法 令 M = D; N = −( L + U ) 从而可得Jacobi 迭代算法: 可得:
注: 由①知可由 x ( k ) − x ( k −1) < ε 或 迭代是否停止的判断条件! 可作为迭代是否停止的判断条件 迭代是否停止的判断条件
x ( k ) − x ( k −1) x
(k )
<ε
School of Math. & Phys.
6
North China Elec. P.U.
Numerical Analysis
定义1 平均收敛速度定义为 Rk (G ) = − 定义 迭代法(3.2)的平均收敛速度 平均收敛速度 引理 设A∈Rn×n,‖•‖为任一矩阵范数,则 ∈
1 ln G k k 注: 平均收敛速度与范数和迭代次数有关,计算不便!
1 k k
。
lim A
k →∞
= ρ ( A)
定义2 渐近收敛速度定义为 定义 迭代法(3.2)的渐近收敛速度 渐近收敛速度
Numerical Analysis
2011-8-17
J. G. Liu
3.1 迭代法的一般形式及其收敛性
设 A = ( a ij ) ∈ R n × n 非奇异, b ∈ R n 非零, 求 Ax = b 的解。 ? 设 {x ( k ) } x *, k 下面考虑 limAx (=) b= x * ⇔ lim x i(= )Gx + g( i = 1, 2 , ⋯ , n ) , x k = x i∗
若A为正定矩阵 正定矩阵,则Gauss-Seidel迭代收敛。# 正定矩阵 没有必然联系! 两种方法都存在收敛性问题,但两者的收敛性没有必然联系 没有必然联系 有例子表明:Gauss-Seidel法收敛时,Jacobi法可能不收敛;而Jacobi 法收敛时, Gauss-Seidel法也可能不收敛。
也可写成如下形式: 易于编程实现
x ( k +1) = D −1 (b − Lx ( k +1) − Ux ( k ) )
算法的分量形式为(只能逐个元素进行计算 : 只能逐个元素进行计算) 只能逐个元素进行计算
xi
( k +1)
i −1 1 ( k +1) = (bi − ∑ aij x j − aii j =1
注:
School of Math. & Phys.
10
North China Elec. P.U.
Numerical Analysis
2011-8-17
J. G. Liu
算法描述: 算法描述
Jacobi迭代算法: 迭代算法: 迭代算法 给定迭代初始向量x(0),置迭代次数k=0,精度要求 ε 和最大迭代次数N;
(1) 计算 x (1) = − D − 1 ( L + U ) x ( 0 ) + D − 1b ,k=k+1; (2)
若 x (1 ) − x ( 0 )
∞
< ε ,则停止计算(x(1)作为方程的解);
(3) 若 k=N,则停止计算(输出某些信息),否则x(0)=x(1),转(1);
注:
1) 将 (1)中的迭代公式换作 x
−x +x −x
∗
∗
(k )
≥ x ( k ) − x∗ − x ( k +1) − x∗
由迭代公式(3.2)
(k )
(k ) ∗ ≥ x ( k ) − x∗ − G x ( k ) − x∗ = (1 − G ) x − x
∴ x (k )
G ∴ x − x* ≤ x ( k ) − x ( k − 1 ) ①得证! 1− G k G G − x* ≤ x ( k ) − x ( k −1) ≤ x (1 ) − x ( 0 ) ②得证! # 1− G 1− G
Numerical Analysis
2011-8-17
J. G. Liu
由于
定理1 定理
lim G k = 0 ⇔ ρ ( G ) < 1
k →∞
迭代格式(3.2) ∀ g ∈ R n , x ( 0 ) ∈ R n 收敛
ρ (G) < 1.
由(3.3)式可得
x ( k ) − x * ≤ G k ( x (0) − x*)
2011-8-17
J. G. Liu
M = D + L; N = −U
可得:
x = − ( D + L ) −1Ux + ( D + L ) −1 b
从而可得Gauss-Seidel迭代算法:
x ( k +1) = GG − S x ( k ) + g = 0 ,1, 2, ⋯) (k 其中 G G − S = − ( D + L ) −1U , g = ( D + L ) −1 b
(1)
= D −1 (b − Lx (1) − Ux ( 0 ) )
即为G-S迭代的算法描述!
2) 通常取向量的无穷范数!
School of Math. & Phys.
11
North China Elec. P.U.
Numerical Analysis
2011-8-17
J. G. Liu
3.3 超松弛 超松弛(SOR)迭代算法 迭代算法
Numerical Analysis
2011-8-17
J. G. Liu
线性方程组的解法
考虑如下线性方程组
a 11 x 1 + ⋯ + a 1 n x n = b1 ⋮ a x + ⋯ + a x = b nn n n n1 1
写成矩阵形式 其中 det( A) ≠ 0,
3; D −1b