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

其中
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 ) 迭代阵
计算方法3_线性方程组迭代解法

计算方法3_线性方程组迭代解法线性方程组的迭代解法是解决线性方程组的一种常见方法,常用于大规模的线性方程组求解。
该方法通过不断迭代更新解的近似值,直到满足一定的收敛准则为止。
线性方程组的迭代解法有很多种,其中最经典的是雅可比迭代法、高斯-赛德尔迭代法和超松弛迭代法。
本文将分别介绍这三种迭代解法及其计算方法。
雅可比迭代法是一种比较简单的线性方程组迭代解法,它的基本思想是先将线性方程组转化为对角占优的形式,然后通过迭代求解逐渐接近精确解。
雅可比迭代法的迭代公式为:其中,x^(k+1)是第k+1次迭代的近似解,n是未知数的个数,a_ij 是系数矩阵A的元素,f_i是方程组的右端向量的元素。
雅可比迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式,即保证矩阵A的对角元素绝对值大于其它元素的绝对值。
2.初始化向量x^(0),设定迭代终止准则。
3.根据雅可比迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
高斯-赛德尔迭代法是雅可比迭代法的改进方法,它的基本思想是在每次迭代计算x^(k+1)时,利用已经计算出的近似解作为x的一部分。
高斯-赛德尔迭代法的迭代公式为:其中,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
高斯-赛德尔迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式。
2.初始化向量x^(0),设定迭代终止准则。
3.根据高斯-赛德尔迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
超松弛迭代法是对高斯-赛德尔迭代法的一种改进方法,它引入了松弛因子ω,通过调整参数ω的值,可以加快迭代的收敛速度。
超松弛迭代法的迭代公式为:其中,0<ω<2,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
线性方程组的迭代式求解方法

线性方程组的迭代式求解方法迭代法解方程的基本原理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 。
数值分析第六章线性方程组迭代解法

1)
b2 a21x1(k) a23x3(k)
xn( k
1)
bn an1x1(k) an2 x2(k)
a1n
x(k) n
a11
a2n xn(k) a22
an,n1
x(k) n1
ann
x(k1) D1(L U ) x(k) D1b
D1(D A) x(k) D1b
(I D1A) x(k) D1b x(k) D1(b Ax(k) )
x(7) = ( 2.0000, 3.0000, -1.0000 )T 如何确定 SOR 迭代中的最优松弛因子是一件很困难的事
26
收敛性
收敛性定理 Jacobi 迭代收敛的充要条件 (J)<1 G-S 迭代收敛的充要条件 (G)<1 SOR 迭代收敛的充要条件 (L)<1
Jacobi 迭代收敛的充分条件 ||J|| <1 G-S 迭代收敛的充分条件 ||G|| < 1 SOR 迭代收敛的充分条件 ||L|| < 1
x1( k x2( k
1) 1)
1
x(k) 2
2
8
x ( k 1) 1
x(k) 3
3
x3(k1)
5
x ( k 1) 2
2
迭代可得: x(1) = ( 0.5000, 2.8333, -1.0833 )T
x(9) = ( 2.0000, 3.0000, -1.0000 )T
25
举例
SOR 迭代:
x(k1) i
bi
i 1
a x(k1) ij j
n
aij
x(jk
)
aii
j 1
j i 1
解线性方程组的迭代法

(0) (1) (k ) x1 x1 x1 (0) (1) (k ) (0) (1) (k ) x x2 , x x2 ,, x x2 , x (0) x (1) x(k ) 3 3 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
5
( k 1) (k ) (k ) x1 (3 x2 2 x3 20) / 8, x ( k 1) (4 x ( k ) x ( k ) 33) /11, 1 3 2 ( k 1) (k ) (k ) x3 (6 x1 3x2 36) /12.
7
构造迭代法
x1( k 1) 2 x2 ( k ) 5, ( k 1) (k ) x 3 x 5. 1 2
则对任何的初始向量,得到的序列都不收敛.
对于给定方程组 x Bx f, 设有唯一解 x * ,则
x* Bx * f .
(1.5)
又设 x ( 0 ) 为任取的初始向量,按下述公式构造向量序列
4
任取初始值,例如取 x ( 0) (0, 0, 0)T .
将这些值代入(1.3) 式右边 (若(1.3)式为等式即求得
方程组的解,但一般不满足). 得到新的值
(1) (1) (1) T x (1) ( x1 , x2 , x3 ) (2.5, 3, 3)T ,
再将 x (1) 分量代入(1.3)式右边得到 x ( 2 ),反复利用这个计
线性方程组迭代解法

输入最大迭代次数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) 方程组
对称正定 方程组 三角形 方程组
解线性方程组的迭代法
4.若 x x (0) , 输出x, 停机;否则转5。 5.若k N , 置k 1 k , xi xi(0) (i 1, 2, , n), 转3; 否则,输出失败信息,停机。 评价:公式简单,每迭代一次只需计算一次矩阵和向量 的乘法,不改变M 的稀疏性,需两组工作单元,存 x ( k ) , x ( k 1) 。
第六章、解线性方程组的迭代法
• 直接法: 经过有限次运算后可求得方程组精确解 的方法(不计舍入误差!) • 迭代法:从解的某个近似值出发,通过构造一个 无穷序列去逼近精确解的方法。(一般有限步内 得不到精确解) • 直接法比较适用于中小型方程组。对高阶方程组, 既使系数矩阵是稀疏的,但在运算中很难保持稀 疏性,因而有存储量大,程序复杂等不足。 • 迭代法则能保持矩阵的稀疏性,具有计算简单, 编制程序容易的优点,并在许多情况下收敛较快。 故能有效地解一些高阶方程组。
k
(i 1, 2, , n)
( ( 其中x ( k ) ( x1( k ) , x2k ) , , xnk ) )T , x ( x1 , x2 , , xn )T 。
证:由定义, ( k ) }收敛于x即 lim x ( k ) x 0 {x
k
而对任意1 i n,有0 xi( k ) xi max x (jk ) x j x ( k ) x
1n
1 a11 a11 1 a 21 a 22 I 1 a nn a n1
a12 a1n a 22 a 2n 1 I- D A a nn a n2
T
同样
定义:设{ x ( k ) }为R n中的向量序列,x R n,如果 lim x ( k ) x 0
解线性方程组的迭代法
|| x || 0 (非负性) ; (1)|| x || 0 ,当且仅当 x 0 时,
(2) || x ||| | || x || (齐次性); (3) || x y |||| x || || y || (三角不等式). 则称 || x || 为向量 x 的范数 (或模).
4.1.2 向量范数和向量序列的极限
常用的向量范数:设 x R n (1)向量的 - 范数 (最大范数): || x || max | xi |
1 i n
|| x ||1 (2)向量的 1 - 范数 (绝对值范数):
(3)向量的 2 - 范数:|| x ||2 ( x , x ) (
|| A ||2 3+2 2 , || A ||F 6
4.1.3 矩阵范数和矩阵序列的极限
(k ) ) R nn ,如果存 定义5 (矩阵序列的极限) 设有矩阵序列 Ak (aij
在 A (aij ) R nn,使
k (k ) lim aij aij ,
i, j 1, 2,
(4) || AB |||| A || || B || ; 则称 || A || 为矩阵 A 的范数.
4.1.3 矩阵范数和矩阵序列的极限
相容性: 设有矩阵范数 || ||s 和向量范数 || ||t ,如果对任何向量 x R n 及矩阵 A R nn ,有/2 || A ||F ( aij ) i , j 1 n
它是与向量 2-范数相容的矩阵范数,但不是从属范数.
4.1.3 矩阵范数和矩阵序列的极限
线性方程组迭代法
线性方程组迭代法
线性方程组迭代法,又称坐标下降法,是一种用于解线性方程组的迭代求解方法,常用于线性规划以及单纯形法等技术。
早在上世纪50年代,此方法就在解决
线性规划问题中得到了广泛应用,到目前为止,这种技术仍然广泛使用。
线性方程组迭代法是一种基于不断迭代调整变量,使目标函数达到最优结果的
迭代求解法。
其基本步骤是:
(1) 初始化目标函数变量:首先,初始化线性方程组的目标函数的变量;
(2) 评估梯度:选择合适的算法计算目标函数的梯度;
(3) 根据该梯度更新变量:更新目标函数变量的值,使得在此次更新之后的值
更加有利于满足线性方程组的要求;
(4) 重复上述步骤,直到目标函数足够接近最优值为止;
线性方程组迭代法能够快速地求解出线性规划问题的最优解,因此,它在计算
机上经常被用来优化问题,进而提高系统运行效率。
随着网络技术的发展,线性方程组迭代法在互联网领域得到了广泛应用,这在大大缩短了计算机程序的运行时间,提高了互联网的效率。
同时,线性方程组迭代法也有助于提高系统的性能,改善用户的体验,提升企业的品牌形象。
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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( x, y) ∈ Ω,
(6.2.4)
二维 Poisson 方程的离散
同样取步长 h = 可得 1 , 节点 xi = ih, y j = jh. 在 x-方向和 y-方向同时采用中心差分离散 N+1 ∂2 v( x, y) ∂ x2 ∂2 v( x, y) ∂y2
( xi ,y j )
( xi ,y j )
6.2 Poisson 方程
·3·
6.2.2 二维 Poisson 方程
现在考虑二维 Poisson 方程 ∂2 v( x, y) ∂2 v( x, y) − ∆ v ( x , y ) = − − = f ( x, y), ∂ x2 ∂y2 v( x, y) = 0, ( x, y) ∈ ∂Ω 其中 Ω = (0, 1) × (0, 1) 为求解区域, ∂Ω 表示 Ω 的边界.
6.2 Poisson 方程
·2·
6.2
Poisson 方程
考虑一维 Poisson 方程
6.2.1 一维 Poisson 方程
2 d v( x) = f ( x), − dx2 v(0) = v(1) = 0,
0 < x < 1,
(6.2.1)
其中 f ( x) 给定, v( x) 是需要计算的函数.
6.2 Poisson 方程 引理 6.2 Kronecker 乘积具有以下性质: (1) 对任意两个矩阵, Kronecker 乘积都有定义 (2) Kronecker 乘积不满足交换律 (3) (AB) ⊗ (CD) = (A ⊗ C )( B ⊗ D), 更一般地, 有 (A1 A2 · · · Ak ) ⊗ ( B1 B2 · · · Bk ) = (A1 ⊗ B1 )(A2 ⊗ B2 ) · · · (Ak ⊗ Bk ) (4) (A ⊗ B)T = AT ⊗ BT (5) (A ⊗ B)−1 = A−1 ⊗ B−1 (6) vec(AX ) = (I ⊗ A)vec(X ) (7) vec(XB) = ( BT ⊗ I )vec(X )
目 录
6 线性方程组的迭代解法 6.1 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 迭代法的在线帮助 . . . . . . . . . . . . . . . . . 6.2 Poisson 方程 . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 一维 Poisson 方程 . . . . . . . . . . . . . . . . . . 6.2.2 二维 Poisson 方程 . . . . . . . . . . . . . . . . . . 6.3 解 Poisson 方程方法小结 . . . . . . . . . . . . . . . . . . 6.4 基于矩阵分裂的迭代算法 . . . . . . . . . . . . . . . . . . 6.4.1 矩阵分裂迭代及收敛性分析 . . . . . . . . . . . . 6.4.2 Jacobi 迭代算法 . . . . . . . . . . . . . . . . . . . 6.4.3 Gauss-Seidel 迭代算法 . . . . . . . . . . . . . . . 6.4.4 SOR(ω) 迭代算法 . . . . . . . . . . . . . . . . . . 6.4.5 求解模型问题的 Jacobi, GS 和 SOR 算法的收敛性 6.4.6 Jacobi, GS 和 SOR 算法的一般收敛性 . . . . . . . 6.4.7 带 Chebyshev 加速的 SSOR 算法 . . . . . . . . . . 6.5 Krylov 子空间迭代算法 . . . . . . . . . . . . . . . . . . . 6.5.1 Krylov 子空间 . . . . . . . . . . . . . . . . . . . . 6.5.2 Krylov 子空间迭代算法一般格式 . . . . . . . . . 6.5.3 GMRES 迭代算法 . . . . . . . . . . . . . . . . . . 6.5.4 共轭梯度法 (CG) . . . . . . . . . . . . . . . . . . 6.5.5 CG 算法的收敛性分析 . . . . . . . . . . . . . . . 6.5.6 其它 Krylov 子空间迭代算法 . . . . . . . . . . . . 6.5.7 预处理 (preconditioning) . . . . . . . . . . . . . . . 6.6 习题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 参考文献
Kronecker 乘积
定义 6.1 设矩阵 X = [ x1 , x2 , . . . , xn ] ∈ Rm×n , 记 vec(X ) 为 X 按列拉成的 mn 维列向量, 即
T T T vec(X ) = [ x1 , x2 , . . . , x T N] .
定义 6.2 (Kronecker 乘积) 设 A ∈ Rm×n , B ∈ R p×q , 则 A 与 B 的 Kronecker 乘积定义为 a11 B a12 B · · · a1n B a B a B · · · a B 21 22 2 n A⊗B= . . . . . . . . . . am1 B am2 B · · · amn B
T T (8) 设 A = Q1 Λ1 QT 1 , B = Q2 Λ2 Q2 , 则 A ⊗ B = ( Q1 ⊗ Q2 )(Λ1 ⊗ Λ2 )( Q1 ⊗ Q2 )
一维 Poisson 方程的离散
取步长 h = 1 , 节点 xi = ih, 0 ≤ i ≤ N + 1, 采用中心差分离散, 即 N+1 ( ) d 2 v( x ) 2v( xi ) − v( xi−1 ) − v( xi+1 ) d4 v 2 − = +O h · , i = 1, 2, . . . , N , dx2 xi h2 dx4 ∞
代入一维 poisson 方程 (6.2.1), 舍去高阶项后可得 Poisson 方程在 xi 点的近似方程 −vi−1 + 2vi − vi+1 = h2 fi , 其中 fi = f ( xi ), vi 为 v( xi ) 的近似. 令 i = 1, 2, . . . , N , 则可得 N 个线性方程, 写成矩阵形式 TN v = f , 其中 2 −1 . . . . . . − 1 TN = , . . . . . . − 1 −1 2 v1 v 2 v= , . . . vN f1 f 2 f = . . . . fN (6.2.2)
≈ ≈
2v( xi , y j ) − v( xi−1 , y j ) − v( xi+1 , y j ) h2 2v( xi , y j ) − v( xi , y j−1 ) − v( xi , y j+1 ) . h2
代入二维 Poisson 方程 (6.2.4) 即得 Poisson 方程在 ( xi , y j ) 点的近似离散方程 4vi, j − vi−1, j − vi+1, j − vi, j−1 − vi, j+1 = h2 fi, j , 其中 fi j = f ( xi , y j ), vi, j 为 v( xi , y j ) 的近似. 写成矩阵形式即为 T N 2 v = (I ⊗ T N + T N ⊗ I )v = h2 f ,
. . . . . . . . . . . . . . . . . . . . . . .
.. . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
1 1 1 2 2 3 5 6 6 8 9 10 11 12 17 22 22 24 27 29 32 34 35 36 37
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
(6.2.3)
系数矩阵 T N 的性质
引理 6.1 T N 的特征值和对应的特征向量分别为 √ ( [ ] πj ) 2 jπ 2 jπ N jπ T λ j = 2 1 − cos , zj = · sin . , sin , . . . , sin N+1 N+1 N+1 N+1 N+1 即 T N = Z ΛZ T , 其中 Λ = diag(λ1 , λ2 , . . . , λN ), Z = [z1 , z2 , . . . , zN ]. ( Nπ ) • T N 的最大特征值为 2 1 − cos 注 6.2.1 ≈ 4; N+1 ( π ) ( π )2 • T N 的最小特征值为 2 1 − cos ≈ ; N+1 N+1 • T N 对称正定.