研究线性方程组迭代收敛速度
线性方程组迭代法收敛性分析

lim Ak 0 .
k
(2.27)
由定理 2.5 知,
( A k ) Ak ,
即
( A)
由(2.27) 和(2.28)可得
k
Ak .
(2.28)
lim ( A) 0
k k
再由矩阵谱半径的定义可知一定有 ( A) 1 . (必要性) 若 ( A) 1 ,则有定理 2.5 的推论可知至少存在一个 0 使得一种范数
若有
lim x ( k ) x* , 即 lim xi( k ) xi* ,
k k
则有 lim x ( k ) x*
k 2
0.
常见的向量范数有: ① 1-范数
x 1 xi ;
i 1
n
② ∞-范数
x
max xi ;
1 i n
③ 2-范数
x 2 ( x ) ;
lim x x* lim G k x x* 0 ,
k
0
k
k
再由向量范数的定义可知
lim x k x* 0 ,
k
即迭代过程收敛. (必要性) 若迭代公式(2.20)收敛,即满足
lim x x* 0
k k
由此推论可知当 ( A) 1 时,至少存在一种范数 A 1 .
定 理 2.6 设 A R nn , 则 lim Ak 0 的 充 要 条 件 为 ( A) 1 . ( 其 中
k
Ak AA A)
k
证明: (充分性) 若 lim Ak 0 ,则由矩阵范数的定义可知
37第七节 迭代法及其收敛性

x(k) x qk x(1) x(0) 1q
证 因 (B)||B||=q<1, 所以迭代格式收敛, 且有 设 lim x (k) =x*,由 x(k+1) = Bx(k) + f , 得 x* = Bx* + f ,则
数学学院 信息与计算科学系
又 || Bk|| ||B||k ,有 lim||Bk||=0 , 故 lim B k =0,由1)知,迭代格式收敛。
数学学院 信息与计算科学系
三、迭代法的收敛速度
考察误差向量
e(k) =x(k) -x*=Bk ·e(0)
设B有n个线性无关的特征向量及相应的特征值为
1 ,2 , ,n ,
1 , 2 , , n
数学学院 信息与计算科学系
2) 由1)知,迭代格式收敛 lim Bk=O , 即lim||Bk||=0 ,从而存在 k ,使 || B k || <1,由谱半径 的性质有
[( B )]k = (B k ) ||B k ||<1,
故得
( B )<1,
因(B)=inf{||B||}且(B)<1,存在 >0及使 || B || ( B )+ <1,
取对数得 定义3 称
k s ln10
ln (B)
R(B) ln (B)
为迭代法 x(k+1) = Bx(k) + f 的收敛速度。 由此看出,当(B)<1愈小,速度R(B)就愈大,
所需要的迭代次数也就愈少。
数学学院 信息与计算科学系
定理 2 若 ||B||=q<1,则对任意x(0) 迭代格式 x(k+1) = Bx(k) + f 收敛 ,且有误差估计式
线性方程组迭代法收敛性分析

k
0
k
k
再由向量范数的定义可知
lim x k x* 0 ,
k
即迭代过程收敛. (必要性) 若迭代公式(2.20)收敛,即满足
lim x x* 0
k k
若有
lim x ( k ) x* , 即 lim xi( k ) xi* ,
k k
则有 lim x ( k ) x*
k 2
0.
常见的向量范数有: ① 1-范数
x 1 xi ;
i 1
n
② ∞-范数
x
max xi ;
1 i n
③ 2-范数
x 2 ( x ) ;
考查方程
Ax b ,
建立某种迭代公式
x
k 1
Gx d ,
k
步骤 1:观察系数矩阵 A 是否满足对角占优,满足则迭代法收敛,不满足转步骤
2;
步骤 2:计算迭代矩阵是否存在一种范数满足 G 1 (一般只计算 G 1 , G ) , 满足则迭代法收敛,不满足转步骤 3; 步骤 3:计算迭代矩阵的谱半径是否满足 (G ) 1 ,满足则迭代法收敛,不满足 则迭代法发散. 有了上面的结论,不仅让我们清楚地认识迭代法的收敛条件,也为我们利用 计算机进行迭代法的编程计算提供了理论依据.
因为 G 1 ,所以有
lim G
k k
k
x 0 x* .
(2.22)
0
(2.23)
由(2.22)和 (2.23)可知
lim x k x* 0
计算方法课件 第10次-线性方程组的迭代法的收敛性

Ax λx
成立,则称 λ 为A的特征值,x为A的对应于 λ 的
特征向量。
A的全体特征值的集合
σ(A) {λ1 , λ2 ,..., λn}
称为矩阵A的谱。
定义A的谱半径为:
ρ(A)
max
1in
λi
A的特征值的求法:解方程
1
2
G1
(D
L)-1U
1 4
1 2
-
1 8
-1 4
00
1
0
2
0 0
- 1 0
0
0
1 4 1
Home
判定迭代法是否收敛的例子
例 8 考察用雅可比迭代法和高斯-塞德尔迭代法解线性 方程组Ax=b的收敛性,其中
1 2 - 2
A 1 1
1
2 2 1
1
b
1
1
上次课 已经求 解
x1 -3 x2 3 x3 1
解: 先计算雅可比迭代矩阵B
x1 2x2 2x3 1 x2 x1 - x3 1 x3 2x1 - 2x2 1
0 1
1 12
2
1
1 2
0 1
0
1 2
00
0
0
1
0
1
2
0
1 2
1
-
1 4
-1 4
1 2
0
0 0 1 0
1 2
0 0 1
-
1 4
1 2
-1 -1 84
0
1
2
于是得到:
1
2
0
0
(D L)-1
迭代相关收敛法(concor)

迭代相关收敛法(concor)
迭代相关收敛法(Conjugate Gradient Method)是求解线性方程组的一类迭代方法,具有收敛速度快、存储空间少等优点,在高维计算中得到广泛应用。
迭代方法是解决大规模线性方程组的重要方法之一,其基本思想是用一个初始估计解,通过迭代循环逐步优化,最终得到方程组的精确解。
Conjugate Gradient Method就是一种比较典型的迭代方法,其基本思想是每次迭代都在一组相互垂直的方向上沿着最快下降的
方向进行迭代,从而达到快速收敛的目的。
具体而言,Conjugate Gradient Method包括以下步骤:
1. 对于初始估计解x0,计算Ax0和r0=b-Ax0(其中A是系数矩阵,b是常数矢量,r0是误差向量)。
2. 初始化搜索方向p1=r0,初始迭代次数为k=1。
3. 沿着搜索方向pk进行迭代求解,得到第k+1步的迭代解xk+1,误差向量
rk+1=b-Axk+1,并计算ρk+1=||rk+1||2。
4. 判断停止条件,如果达到了预设的收敛精度,则停止迭代;否则,更新搜索方向
pk+1=rk+1+βkp,其中βk=ρk+1/ρk。
5. 更新迭代次数k=k+1,返回步骤3。
解线性方程组的迭代法收敛速度

解线性方程组的迭代法收敛速度实验六解线性方程组的迭代法收敛速度.一、实验内容(1)选取不同的初始向量)0(x ,在给定的迭代误差要求下,用雅可比迭代和高斯-赛德尔迭代法法求解,观察得到的序列是否收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论.(2)用SOR 迭代法求上述方程组的解,松弛系数ω取1<ω<2的不同值,在给定的迭代误差要求下.记录迭代次数,分析计算结果并得出你的结论.二、方法步骤雅克比迭代法:(1)输入A =(a ij )n×n ,b =(b 1,b 2,…,b n )T ,维数n ,x (0)=(x 1(0),x 2(0),…,x n (0))T ,容许误差ε,最大容许迭代次数N.(2)对i=1,2,3,…,n,置x i =x i(0). (3)置k=1.(4)对i=1,2,3,…,n,置y i =1a ii (b i∑a ij x j nj=1,j≠i ) (5)若max 1≤i≤≥n ‖y i ?x i ‖<ε输出y i (i =1,2,3,…,n),停机,否则转(6).(6)若kk,y i ==>x i (i =1,2,…,n),转(4),否则,输出失败信息,停机。
高斯-塞德尔迭代法(1)输入A =(a ij )n×n ,b =(b 1,b 2,…,b n )T ,维数n ,,x (0)=(x 1(0),x 2(0),…,x n (0))T ,容许误差ε,最大容许迭代次数N.(2)对i=1,2,3,…,n,置x i =x i (0)(3)置k=1.(4)对i=1,2,3,…,n,置y i =1ii (b i∑a ij x j nj=1,j≠i ) (5)若max 1≤i≤≥n ‖y i ?x i ‖<ε输出y i (i =1,2,3,…,n),停机,否则转(6).(6)若kk,y i ==>x i (i =1,2,…,n),转(4),否则,输出失败信息,停机。
数值分析第三章线性方程组迭代法

数值分析第三章线性方程组迭代法线性方程组是数值分析中的重要问题之一,涉及求解线性方程组的迭代法也是该领域的研究重点之一、本文将对线性方程组迭代法进行深入探讨。
线性方程组的一般形式为AX=b,其中A是一个n×n的系数矩阵,x和b是n维向量。
许多实际问题,如电路分析、结构力学、物理模拟等,都可以归结为求解线性方程组的问题。
然而,当n很大时,直接求解线性方程组的方法计算量很大,效率低下。
因此,我们需要寻找一种更高效的方法来求解线性方程组。
线性方程组迭代法是一种基于迭代思想的求解线性方程组的方法。
其基本思想是通过构造一个序列{xn},使得序列中的每一项都逼近解向量x。
通过不断迭代,可以最终得到解向量x的一个近似解。
常用的线性方程组迭代法有雅可比迭代法、高斯-赛德尔迭代法和逐次超松弛迭代法等。
雅可比迭代法是其中的一种较为简单的迭代法。
其基本思想是通过分解系数矩阵A,将线性方程组AX=b转化为x=Tx+c的形式,其中T是一个与A有关的矩阵,c是一个常向量。
然后,通过不断迭代,生成序列xn,并使序列中的每一项都逼近解向量x。
高斯-赛德尔迭代法是雅可比迭代法的改进方法。
其核心思想是利用当前迭代步骤中已经求得的近似解向量的信息。
具体而言,每次迭代时,将前一次迭代得到的近似解向量中已经计算过的分量纳入计算,以加速收敛速度。
相比于雅可比迭代法,高斯-赛德尔迭代法的收敛速度更快。
逐次超松弛迭代法是高斯-赛德尔迭代法的改进方法。
其核心思想在于通过引入一个松弛因子ω,将高斯-赛德尔迭代法中的每次迭代变为x[k+1]=x[k]+ω(d[k+1]-x[k])的形式,其中d[k+1]是每次迭代计算得到的近似解向量的一个更新。
逐次超松弛迭代法可以根据问题的特点调整松弛因子的值,以获得更好的收敛性。
除了以上提到的三种迭代法,还有一些其他的线性方程组迭代法,如SOR迭代法、共轭梯度法等。
这些方法都具有不同的特点和适用范围,可以根据问题的具体情况选择合适的迭代法。
线性方程组的迭代式求解方法

线性方程组的迭代式求解方法迭代法解方程的基本原理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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
研究解线性方程组迭代收敛速度一. 实验目的科学研究与生产实践中许多问题都可归结为线性方程组的求解,高效求解线性方程组成为了许多科学与工程计算的核心.迭代法就是用某种极限过程去逼近线性方程组精确解的方法,该方法具有对计算机的存贮单元需求少,程序计算简单,原始系数矩阵在计算过程中不变等优点,是求解大型稀疏矩阵方程组的重要方法。
常用的迭代法有Jacobi 迭代法、Gauss —seidel 迭代法、逐次超松驰法(SOR 法)等。
二. 实验摘要由迭代法平均收敛速度与渐进收敛速度的关系引入近似估计法,即通过对迭代平均收敛速度取对数,然后利用Mathematica 软件对其进行拟合,给出拟合函数,最终得到了Jacobi 迭代法、Gauss —seidel 法的平均收敛速度收敛到渐进收敛速度的近似收敛阶,以及逐次超松驰法(SOR 法)的渐进收敛速度,且该法适用于其他迭代法收敛速度的估计。
三. 迭代法原理1.Jacobi 迭代法(J 法)设方程组b Ax =,其中,n n n n ij R a A ⨯⨯∈=)(,。
n R b x ∈,A 为可逆矩阵,可分裂为,U D L A ++=其中,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-00001,21323121n n n n a a a a a a L ΛOO M M ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=-000,122311312n n n n a a a a a a U M O OΛΛ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=nn a a a D OO2211 从而由b Ax =得到,bD x A D I b D x A D D b D x U L D x 111111)()()(------+-=+-=++-=令 A D I B J 1--=, b D f J 1-=, 由此可构造出迭代公式:J k J k f x B x +=+)()1(令初始向量)0,...,0,0()0(=x ,即可得到迭代序列,从而逼近方程组的解 这种方法称为Jacobi 迭代法,其中J B 称为Jacobi 迭代矩阵。
2. Gauss-Seidel 迭代法(GS 法)与Jacobi 迭代法类似,将方程组b Ax =中的系数矩阵A 分裂为,U D L A ++=,其中U L D ,,与前面相同。
与Jacobi 迭代法所不同的是,Gauss-Seidel 迭代法将Jacobi 迭代公式中的b Ux Lx Dx k k k +--=+)()()1( 改为 b Ux Lx Dx k k k +--=++)()1()1(从而b Ax =可写成矩阵形式b Ux x D L k k +-=++)()1()(,若设1)(-+D L 存在,则b D L Ux D L x k k 1)(1)1()()(--++++-=,其中,U D L B G 1)(-+-=,b D L f 1)(-+=,于是Gauss —Seidel 迭代公式的矩阵形式为fx B xk G k +=+)()1(。
其中,G B 称为式(1)的Gauss —Seidel 迭代法的迭代矩阵。
注:由于Gauss-Seidel 迭代充分利用了迭代过程的新信息,一般来说,它的迭代效果要比Jacobi 迭代好。
3.逐次超松弛方法(SOR 法)根据Gauss-Seidel 迭代法的迭代原理)()()1(1)1(b Ux Lx D x k k k +--=+-+,我们将其修改为)1()()1()1(+-++-=k k k xw xw x,即对)(k x和)1(+-k x加入一个权因子,在这里我们称w 为迭代公式的松弛系数。
令)()()1(1)1(b Ux Lx D xk k k +--=+-+-(Gauss —Seidel 迭代法),则)()1()1()()1(1)()1()()1(b Ux Lx wD x w xw xw xk k k k k k +--+-=+-=+-+-+从而b wL D w x wU D w wL D x k k 1)(1)1()(])1[()(--+++--+=])1[()(1wU D w wL D G w --+=-,1)(-+=wL D w f w 所以w k w k f x G x +=+)()1(将其写成分量的形式我们称该公式为基于Gauss —Seidel 迭代下的超松弛迭代公式。
注:1) 关于松弛系数w 的选取,我们有以下性质: (i ).设方程组b Ax =,其中,nn n n ij R a A ⨯⨯∈=)(,nR b x ∈,,则解方程的SOR迭代法收敛的必要条件是20<<w ; (ii )若A 为正定的对称矩阵,且20<<w ,则方程组b Ax =关于SOR 迭代法是收敛的; (iii )若A 为正定的对称三对角矩阵,JB 为Jacobi 迭代矩阵,若J B 的谱半径1)(<J B ρ,记)(J B ρμ=,则SOR 法的最优松弛因子为2112μ-+=b w且⎪⎩⎪⎨⎧<≤-≤<--+=2104/)1(4)(222w w w w w w w w G b bw μμρ2) 由松弛系数的性质可知,通常只有当方程组的系数矩阵A 为正定的对称矩阵时我们才使用SOR 法;3) 当松弛系数1=w 时,SOR 法记为GS 方法; 4) 关于(iii )提到的谱半径定义为:假设A 为n 阶可逆矩阵,n λλλ,...,,21是它的n 个特征值,我们称||m ax )(1i ni A λρ≤≤=为A 的谱半径。
容易证明A 的谱半径是A 的所有诱导范数的下确界,即||||inf )(||||A A ⋅=ρ其中,矩阵的范数如:∑=≤≤=n i ij n j a A 111||max ||||,∑=≤≤∞=nj ij n i a A 11||max ||||,)(||||2A A A T ρ= 。
下面我们就来讨论以上方法的迭代收敛速度,首先我们介绍收敛速度快慢的比较方法。
四. 迭代法收敛速度的比较1.这两种迭代方法收敛性与)(0∞→→k B k 是否成立有关,且收敛速度与0→k B 的速度有关。
当1)(<B ρ时, k B 趋于零矩阵的速度有赖于)(B ρ的大小。
一般说来,)(B ρ越小,则k B 趋于零矩阵的速度越快,反之就越慢。
通常,当1)(<B ρ时,可以用正数)(ln B ρ-的大小作为迭代法渐进收敛速度的度量。
这时)(ln B ρ-越大,迭代法的收敛速度愈大。
2.平均收敛速度与渐进收敛速度之间的联系对于收敛的迭代法...)2,1,0(1=+=+k f Bx x k k ,)||ln(||/1k k k B R -=称为平均收敛速度(它与所用的范数以及k 有关);)(ln B R ρ-=∞称为渐进收敛速度。
可以证明k k R R ∞→∞=lim ,因此当∞→k 时假设成立下列渐近关系式c R R pkk →+1(常数),为估计平均收敛速度收敛到渐进收敛速度的阶,当k 充分大时有如下近似形式:1,1>>≈+k c R R kk 两边取对数得:c R p R k k ln ln ln +≈此式说明当k 比较大时,1ln +k R 与k R ln 有近似的线性关系,而它们的斜率刚好为收敛阶P ,这样可以通过当k 比较大时作出1ln +k R 与k R ln 的拟合曲线来估计出P 值。
五. 实验举例例1:考虑五阶方程组⎪⎪⎪⎩⎪⎪⎪⎨⎧-=+-=-+--=-=-+-=--1202412342355454143521541x x x x x x x x x x x x x 1. 其Jacobi 迭代法的迭代矩阵为⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=05.00005.000025.005.000025.000025.02.06.0000J B渐进收敛速度为:41301462.0)66165261.0ln())(ln(=-=-=∞J B R ρ则迭代平均收敛速度k R (见表1)以及取对数后作最小二乘拟合图像(见图1)如下所示:表1图11.5 1.4 1.3 1.2 1.1 1.01.201.151.101.051.000.95即53345499.0)ln(44226443.0)ln(1-=+k k R R从而得到收敛阶为 p=0.442264432. 该方程组的Gauss —Seidel 迭代矩阵为:⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=275.0075.000055.015.000005.00003.015.00002.06.0000G B其渐进收敛速度为85566611.0)425.0ln())(ln(=-=-=∞G B R ρ则迭代平均收敛速度k R (见表2)以及取对数后作最小二乘拟合图像(见图2)如下所示:图21.41.21.00.80.60.40.90.80.70.60.50.40.3即11593362.0)ln(58472143.0)ln(1-=+k k R R从而得到收敛阶为 p=0.58472143。
注:在本例中,由于方程组的系数矩阵严格对角占优,故前述两种迭代过程均收敛,依实际迭代过程:对Jacobi 迭代有67-32)31()32(10106.4345694||||||||-<⨯=-x x x 而Gauss —Seidel 迭代有67-18)17()18(10105.5402987||||||||-<⨯=-x x x ,即二者均收敛,但后者更快一些。
这与收敛阶p=0.585>0.442之间关系一致。
例2:考虑方程组⎪⎩⎪⎨⎧-=+-=-+=+244304324343232121x x x x x x x 用SOR 迭代公式可得取初试量为T x )0,0,0()0(=,迭代至第14次后的结果为当1=w 时 ,T x )5.0005551- 3.9977796, 3.0026645,()14(=当24.1=w 时,T x ) 5.- 3.9999999, 3.0000002,()14(=可见取24.1=w 时的收敛速度比1=w 时的收敛速度要快。
若要精确到小数后7位,当1=w (GS 法)时需迭代31次,而当24.1=w (SOR 法)时只需迭代14次,它表明松弛因子w 选取的好坏,对收敛速度影响很大。
六. 程序设计及实验结果1. Jacobi 迭代法,用mathematica 编写程序如下:(i )计算迭代矩阵Clear[Evaluate[Context[]<>"*"]]A={{5,0,0,-3,-1},{-1,4,0,0,-1},{0,0,2,-1,0},{-1,0,0,4,-2},{0,0,0,-1,2}}; b={2,3,-1,0,-1};L=Table[If[i>j,A[[i,j]],0],{i,Length[A]},{j,Length[Transpos e[A]]}];D1=Table[If[i==j,A[[i,j]],0],{i,Length[A]},{j,Length[Transp ose[A]]}];U=Table[If[i<j,A[[i,j]],0],{i,Length[A]},{j,Length[Transpos e[A]]}];I1=IdentityMatrix[Length[A]]; BJ=I1-Inverse[D1].A//N fJ=Inverse[D1].b//N; 运行结果为⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=05.00005.000025.005.000025.000025.02.06.0000J B(ii )计算方程组的解精确到小数点后7位时,迭代次数、最后一次迭代的结果、最后两次的相对误差。