第三章 迭代法
第三章 迭代法s3 Newton迭代法

第三章 迭 代 法
第三节 Newton迭代法 Newton迭代法
Newton迭代法发散的例子 迭代法发散的例子
举例( 举例(一)
例: 设计一个二阶收敛算法计算 a (a > 0)。 。 解:转化为求 x2-a = 0 的正根
2 f ( xk ) xk − a 1 a = xk − = xk + Newton 迭代: xk +1 = xk − 迭代: f ′( xk ) 2 a xk + a − 2 xk a xk +1 − a = − a = = 2 xk 2 xk 2 xk 2 k
(
)
2
(x
xk +1 − a
k
− a
)
2
=
1 2 xk
1 2 a
二阶收敛
练习:设计一个局部收敛的迭代算法只用加、 练习:设计一个局部收敛的迭代算法只用加、减、乘法 计算倒数1/ 计算倒数1/a。
Newton迭代 迭代
基本思想: 将非线性方程线性化 基本思想: 将非线性方程
的近似根, 展开: 设 xk 是 f (x)=0 的近似根, 将 f (x) 在 xk Taylor 展开 f ′′(ξ ) ′( xk )( x − xk ) + f ( x) = f ( xk ) + f ( x − xk )2 , ξ 在 xk 和 x 之间 之间. 2! f ( xk ) ≈ f ( xk ) + f ′( xk )( x * − xk ) x* ≈ xk − 0 = f ( x*) f ′( xk ) y f ( xk ) xk +1 = xk − f ′( xk )
第三章、逐次逼近法

第三章 逐次逼近法1.1内容提要1、一元迭代法x n+1=φ(x n )收敛条件为:1)映内性x ∈[a,b],φ(x) ∈[a,b] 2)压缩性∣φ(x) -φ(y)∣≤L ∣x-y ∣其中L <1,此时φ为压缩算子,在不断的迭代中,就可以得到最终的不动点集。
由微分中值定理,如果∣φ’∣≤L <1,显然它一定满足压缩性条件。
2、多元迭代法x n+1=φ(x n )收敛条件为:1)映内性x n ∈Ω,φ(x n ) ∈Ω 2)压缩性ρ(▽φ)<1,其中▽φ为x n 处的梯度矩阵,此时φ为压缩算子,在不断的迭代中,就可以得到最终的不动点集。
3、当φ(x )= Bx+f 时,收敛条件为,ρ(B )<1,此时x n+1= Bx n +f ,在不断的迭代中,就可以得到线性方程组的解。
4、线性方程组的迭代解法,先作矩阵变换 U L D A --=Jacobi 迭代公式的矩阵形式 f Bx b D x U L D x n n n +=++=--+111)(Gauss-Seidel 迭代公式的矩阵形式 f Bx b L D Ux L D x n n n +=-+-=--+111)()(超松弛迭代法公式的矩阵形式f Bx b L D x U D L D x k k k +=-++--=--+ωωωωω111)(])1[()(三种迭代方法当1)(<B ρ时都收敛。
5、线性方程组的迭代解法,如果A 严格对角占优,则Jacob 法和Gauss-Seidel 法都收敛。
6、线性方程组的迭代解法,如果A 不可约对角占优,则Gauss-Seidel 法收敛。
7、Newton 迭代法,单根为二阶收敛 2211'''21lim)(2)(lim---∞→+∞→--=-==--k k k k k k k k x x x x f f c x x ξξαα8、Newton 法迭代时,遇到重根,迭代变成线性收敛,如果知道重数m , )()('1k k k k x f x f m x x -=+仍为二阶收敛 9、弦割法)()())((111--+---=k k k k k k k x f x f x x x f x x 的收敛阶为1.618,分半法的收敛速度为(b-a )/2n-110、Aitken 加速公式11211112)(),(),(+----+-+--+---+---===k k k k k k k k k k k x x x x x x x x x x x ϕϕ1.2 典型例题分析1、证明如果A 严格对角占优,则Jacob 法和Gauss-Seidel 法都收敛。
数值分析第三章线性方程组迭代法

数值分析第三章线性方程组迭代法线性方程组是数值分析中的重要问题之一,涉及求解线性方程组的迭代法也是该领域的研究重点之一、本文将对线性方程组迭代法进行深入探讨。
线性方程组的一般形式为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迭代法、共轭梯度法等。
这些方法都具有不同的特点和适用范围,可以根据问题的具体情况选择合适的迭代法。
迭代法

第三章 线性代数方程组数值解法(迭代法)迭代法是解线性方程组的另一类方法,特别是适用于解大型稀疏线性方程组,如由某些偏微分方程数值解法中转化来的高阶线性代数方程组。
事实上,迭代法是求解多种数值问题的基本方法。
迭代法作为一种求解数值问题的通用方法,其基本思想是针对求解问题预先设计好某种迭代格式,从而产生求解问题的近似解的迭代序列,在迭代序列收敛于精确解的情况下,按精度要求取某个迭代值作为问题解的近似值,这就是求解数值问题的迭代法。
在这一章,我们的求解问题是线性方程组,下一章是非线性方程和非线性方程组,在不少其他问题中还会用到。
迭代法的内容包括下述两个主要方面: ① 针对具体问题构造具体的迭代格式。
② 研究迭代格式(序列)的收敛性并作误差分析。
3.1 解线性方程组迭代法的基本概念和基本迭代公式解线性代数方程组 b Ax = (3.1.1) (nn RA ⨯∈非奇异,0),,,(21≠=T n b b b b , Tn x x x x ),,,(21 =为解向量 )的迭代法的具体做法是: 把方程组(3.1.1)变形为等价形式)(x F x =我们这里只研究如上式的线性的形式 f Bx x +=(其中nn R B ⨯∈,nR f ∈ )例如把A分解为nn R M N M A ⨯∈-=,则( b M Nx Mx b x N M 11)(--+=→=- )如果令 N M B 1-=, b M f 1-= 这就是前面的迭代格式 f Bx x +=。
(对应的迭代公式是: ),,2,1,0()()1(n k f Bx xk k =+=+ 其中每一步迭代值仅依赖于前一步的迭代值。
称为单步迭代。
) 如果{)(k x }当 ∞→k 时有极限*x 存在, *)(lim x xk k =∞→则称迭代公式是收敛的;3.2 Jacobi 迭代法/Gauss —Seidel 迭代法这是解线性方程组的两种基本的方法。
1. Jacobi 迭代公式设方程组b Ax =中 nn ij Ra A ⨯∈=)(,ni R b b ∈=且 ),,2,1(0n i a ii =≠。
数值分析 迭代法 二分法和迭代法原理

lim | xk x* | 0
k
即 lim xk x *.
k
(b) | xk1 x*| L | xk x*|
| xk 1 xk | | ( xk 1 x*) ( xk x*) | xk x * xk 1 x * (1 L) xk x * 1 xk x * xk 1 xk 1 L 又 | xk1 xk | ( xk ) ( xk1 ) | '( ) | | xk xk1 | L | xk xk1 |
等价变换
x = (x) 称为迭代函数
(x) 的不动点x*
不动点迭代
具体做法:
从一个给定的初值 x0 出发,计算 x1 = (x0), x2 = (x1), … x 若 k k 0 收敛,即存在 x* 使得 lim x k x *,则由 的连续
k
xk 1 lim xk 可得 x* = (x*),即 x* 是 的不 性和 lim k k
根的估计
引理3.1(连续函数的介值定理) 设f(x)在 [a,b]上连续,且f(a) f(b)<0,则存在x*(a,b) 使f(x*)=0。 例3.1 证明x33x1 = 0 有且仅有3个实根,并 确定根的大致位置使误差不超过 =0.5。 解:
单调性分析和解的位置 选步长h=2, 扫描节点函数值 异号区间内有根
ek 1 xk 1 x* ( xk ) ( x*) '( )ek e 取极限得 lim k 1 '( x*) 0 线性收敛. k e k
数值分析--第三章--迭代法

数值分析--第三章--迭代法迭代⼀般⽅程:本⽂实例⽅程组:⼀.jacobi迭代法从第i个⽅程组解出xi。
线性⽅程组Ax=b,先给定⼀组x的初始值,如[0,0,0],第⼀次迭代,⽤x2=0,x3=0带⼊第⼀个式⼦得到x1的第⼀次迭代结果,⽤x1=0,x3=0,带⼊第⼆个式⼦得到x2的第⼀次迭代结果,⽤x1=0,x2=0带⼊第三个式⼦得到x3的第⼀次迭代结果。
得到第⼀次的x后,重复第⼀次的运算。
转化成⼀般的形式:(其中L是A的下三⾓部分,D是A的对⾓元素部分,U 是上三⾓部分)得到迭代公式:其中的矩阵B和向量f如何求得呢?其实,矩阵B的计算也很简单,就是每⾏的元素/该⾏上的对⾓元素⼆.Gauss-Seidel迭代法【收敛速度更快】这个可以和jacobi法对⽐进⾏理解,我们以第⼆次迭代为例(这⾥的第⼀次迭代结果都⽤⼀样的,懒得去换)从上表对⽐结果可以看出,Jacobi⽅法的第⼆次迭代的时候,都是从第⼀次迭代结果中,获取输⼊值。
上⼀次迭代结果[2.5,3.0,3.0],将这个结果带⼊上⾯式⼦1,得到x1=2.88,;将[2.5,3.0,3.0]替换成[2.88,3.0,3.0]带⼊第⼆个式⼦的运算,这⾥得到x2=1.95,所以把[2.88,3.0,3.0]替换成[2.88,1.95,3.0]输⼊第三个式⼦计算X3=1.0.这就完成了这⼀次的迭代,得到迭代结果[2.88,1.95,1.0],基于这个结果,开始下⼀次迭代。
特点:jacobi迭代法,需要存储,上⼀次的迭代结果,也要存储这⼀次的迭代结果,所以需要两组存储单元。
⽽Gauss-Seidel迭代法,每⼀次迭代得到的每⼀个式⼦得到的值,替换上⼀次迭代结果中的值即可。
所以只需要⼀组存储单元。
转化成⼀般式:注意:第⼆个式⼦中的是k+1次迭代的第⼀个式⼦的值,不是第k次迭代得值。
计算过程同jacobi迭代法的类似三.逐次超松弛法SOR法上⾯仅仅通过实例说明,Jacobi和Seidel迭代的运算过程。
第三章 解线性方程组的迭代法

(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
迭代法

二、收敛性分析
计算方法
(全局收敛定理)
设 ( x)在[a, b] (1)当a x b时,a ( x) b;
(2) x [a, b], |'( x) | L 1 (L为常数)
则 :(1)方 程x ( x)在[a, b]有 唯 一 根;
(2)x0 [a, b], xn1 ( xn) 收 敛 到
则对于任意的初始值 x0 S ,由迭代公式
xn1 ( xn )
产生的数列 xn 收敛于方程的根。
(这时称迭代法在 的S邻域具有局部收敛性。)
计算方法
例3 设 ( x) x a( x2 5),要使迭代过程 xk1 ( xk )
局部收敛到 x* 5,求 a 的取值范围。 解: ( x) x a( x2 5)
xk1 ( xk )
又 x* (x*)
根据中值定理有
x* xk1 ( x* ) ( xk ) ( )( x* xk ) ( x*, xk )
局部收敛性 当隔根区间确定时,通常只需要更简单的条件
就可以保证迭代过程在根的邻域(局部)收敛。
定理2.2 设 是方程 x ( x)的根,如果满足
条件 :
(1)迭代函数 ( x) 在 的邻域可导; (2)在 的某个邻域 S {x x },对于任
意 x S ,有
(x) L 1
计算方法
xn xn1
Ln 1-L
x1
x0
注:L越小,收敛越快。
计算方法
实际计算中当然不可能也没必要无穷多步地做
下去, 对预先给定的精度要求ε,只要某个n满足
x x
n
n1
即可结束计算并取
x n
当然,迭代函数 ( x ) 的构造方法是多种多样的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法简单 收敛有保证 只要f(x)连续 只要 连续
缺点
对区间两端点选取条件苛刻 收敛速度慢
§3.2 迭代法原理
迭代法的思想 不动点原理 局部收敛性 收敛性的阶
迭代法的思想
条件: 条件 f(x)=0 在x0附近有且仅有一个根 设计同解变形 x=g(x) 迭代式 xk=g(xk-1), k=1,2,… 如果收敛 xk →x*, 则x*是f(x)=0 的根 是
2 Jacobi迭代和Gauss-Seidel迭代 Jacobi迭代和 迭代和Gauss-Seidel迭代
例3.7
10 x1 − x2 − 2 x3 = 7.2 − x1 + 10 x2 − 2 x3 = 8.3 − x − x + 5 x = 4.2 3 1 2
解:变形
x1 = 0.72 + 0.1x2 + 0.2 x3 x2 = 0.83 + 0.1x1 + 0.2 x3 x = 0.84 + 0.2 x + 0.2 x 1 Newton迭代法优势越明显 迭代法优势越明显
“迭代-加速”技术 迭代-加速”
加快迭代过程的收敛速度 将发散的迭代格式加工成收敛的 附近大约为D, 若g’(x)在x*附近大约为 改进 k = g(xk-1) 为 在 附近大约为 改进x
1 xk = [ g ( xk −1 ) − Dxk −1 ] 1− D
g ′( x ) =
∗
f ( x ∗ ) f ′′( x ∗ )
m重根:线性收敛 重
g ′( x ∗ ) = lim
x → x*
[ f ′( x )]
∗
2
=0
f ( x) f ′′( x) 1 = 1 − (习题6) m [ f ′( x)]2
例3.5 (P56)
Newton迭代法,计算3次达到 位有效数字 迭代法,计算 次达到 次达到4位有效数字 迭代法 计算4次达到 次达到4位有效数字 计算 次达到 位有效数字 xk = 3 xk −1 + 1
L Lk x1 − x0 x − xk ≤ x k − x k −1 ≤ 1− L 1− L
*
后验估计
先验估计
算法设计中迭代结束条件: 近似使用|x 算法设计中迭代结束条件 近似使用 k-xk-1|<ε ε
不动点原理
证明步骤
解的存在性; 解的存在性 解的唯一性; 解的唯一性 解的收敛性; 解的收敛性 误差估计式。 误差估计式。
初值取 x1(0) = x2(0) = x3(0) = 1 ,精度要求ε =10-3。 计算得 ||x(6)− x(5)||∞≤10-3.
Gauss-Seidel迭代 Gauss-Seidel迭代
Gauss-Seidel迭代 迭代
( ( x1( k ) = 0.72 + 0.1x2k −1) + 0.2 x3k −1) (k ) (k ) ( k −1) x2 = 0.83 + 0.1x1 + 0.2 x3 x ( k ) = 0.84 + 0.2 x ( k ) + 0.2 x ( k ) 1 2 3
第三章迭代法
§3.1 二分法 §3.2 迭代法原理 §3.3 Newton迭代法和迭代加速 迭代法和迭代加速 §3.4 解线性方程组的迭代法
§3.1 二分法
根的估计 二分法
根的估计
引理3.1(连续函数的介值定理) 引理 (连续函数的介值定理) 设f(x)在 在 [a,b]上连续,且f(a)f(b)<0,则存在 ∈(a,b) 上连续, 上连续 ,则存在x*∈ 使f(x*)=0。 。 证明x 有且仅有3个实根 个实根, 例3.1 证明 3−3x−1 = 0 有且仅有 个实根,并 − 确定根的大致位置使误差不超过ε 确定根的大致位置使误差不超过ε =0.5。 。 解:
初值取 ,精度要求ε =10-3。 计算得 ||x(5)− x(4)||∞≤10-3.
(0) (0) x1(0) = x2 = x3 = 1
编程计算公式
Jacobi迭代 迭代
xi( k )
n 1 = [bi − ∑ aij x (jk −1) ], i = 1,L , n aii j =1, j ≠ i
例3.3
3 (1) xk = xk −1 − 1
不收敛 收敛
(2) xk = 3 xk −1 + 1
g : [1,2] → [1,2]
1 g ′( x) ≤ = L < 1 3
局部收敛性(格式收敛) 局部收敛性(格式收敛)
g ′( x∗ ) < 1 定理3.2 局部收敛性) 连续, 定理 (局部收敛性)设g’(x)连续, 连续
条件是否可靠? 条件是否可靠?
计算公式矩阵形式
和分解: 和分解:
A=L(下三角 下三角)+D (对角 +U (上三角 对角) 上三角) 下三角 对角 上三角
迭代
x(k)= Gx (k-1) + f, k=1,2,…
Jacobi迭代 迭代
G = -D-1(L+U) = I-D-1A f = D-1 b
Gauss-Seidel迭代 迭代
G = - (L+D)-1 U f = (L+D)-1 b
3 迭代的收敛性
定理3.4 设G的某种范数 的某种范数||G||<1,则x=Gx+f存 定理 的某种范数 , 存 在唯一解,且对任意初值, 在唯一解,且对任意初值,迭代序列 x(k)= Gx (k-1) + f 收敛于x*, 收敛于 ,进一步有误差估计式
不动点原理(迭代过程收敛) 不动点原理(迭代过程收敛)
定理3.1 (不动点原理 设映射 不动点原理) 定理 不动点原理 设映射g(x)在[a,b]上有连续的 在 上有连续的 一阶导数且满足 1o 封闭性:∀x ∈ [a,b], g(x) ∈ [a,b] , 封闭性: 2o 压缩性: ∃L ∈(0,1)使对∀x ∈ [a,b], |g'(x)|≤L, 压缩性: 使对∀ 使对 ≤ 则在[a,b]上存在唯一的不动点 , 且对 ∀ x0 ∈ [a,b], 上存在唯一的不动点x*, 且对∀ 则在 上存在唯一的不动点 xk=g(xk-1)收敛于 。进一步,有误差估计式 收敛于x* 进一步, 收敛于
则存在充分靠近x*的初值,使迭代收敛于 。 则存在充分靠近 的初值,使迭代收敛于x*。 的初值 ′( x∗ ) + 1) / 2 < 1 证明:利用定理3.1, 3.1,取 = 证明:利用定理3.1,取L= ( g
应用中: 近似使用|g'(x0)|<1判断 应用中 近似使用 判断
具有局部收敛性的迭代计算上不一定收敛, 具有局部收敛性的迭代计算上不一定收敛, 它是否收敛还要看初值是否取的恰当; 它是否收敛还要看初值是否取的恰当; 而不具有局部收敛性的迭代对任何初值都不 可能收敛。 可能收敛。
收敛性的阶(局部收敛速度) 收敛性的阶(局部收敛速度)
定义3.1 当xk→x*,记ek= x* - xk ,若存在 定义 , 实数p, 实数 ,使 ek+1/epk → c≠0, ≠ , 则称{x 有 阶收敛速度。 则称 k}有p阶收敛速度。
线性收敛 p=1 平方收敛 p=2
•定理 设xk=g(xk-1) → x*,则 定理3.3 定理 , (1) 当g'(x*)≠0时,{xk}线性收敛; 线性收敛; ≠ 时 线性收敛 (2) 当g'(x*)=0,而g''(x*) ≠0时,{xk}平方收敛。 平方收敛。 而 时 平方收敛
3.3 Newton迭代法和迭代加速 Newton迭代法和迭代加速
牛顿(Newton)迭代法 迭代法 牛顿 “迭代-加速”技术 迭代-加速”
牛顿(Newton)迭代法 牛顿(Newton)迭代法
原理(1次近似 直线代替曲线) 原理 次近似, 直线代替曲线 次近似
f ( x∗ ) ≈ f ( xk −1 ) + f ′( xk −1 )( x∗ − xk −1 )
Gauss-Seidel迭代 迭代
xi( k )
i −1 n 1 = [bi − ∑ aij x (jk ) − ∑ aij x (jk −1) ], i = 1,L , n aii j =1 j = i +1
迭代结束条件一般用 ||x(k)− x(k-1)||≤ε ≤ε (1)收敛性条件 收敛性条件? 问题(1)收敛性条件? (2) ||x(k)− x(k-1)||≤ε 作为结束 ≤ε
例3.6 (P57)
§4 解线性方程组的迭代法
1 迭代思想 2 Jacobi迭代和 迭代和Gauss-Seidel迭代 迭代和 迭代 3 迭代的收敛性 4 迭代加速 迭代加速——逐次超松弛(SOR)法 逐次超松弛( 逐次超松弛 )
1 迭代思想
解大型稀疏型方程组比直接法存储量小 条件: 条件 Ax=b 解存在唯一 设计同解变形 x=Gx+f 迭代式 x(k)=Gx (k-1)+f, k=1,2,… 取初值x 取初值 (0) ,如果收敛 x(k) →x*, 则x*是Ax=b 是 的解 k →∞ x(k) →x* ⇔ x∗ − x ( k ) 0 →
单调性分析和解的位置 选步长h=2ε, 扫描节点函数值 选步长 ε 异号区间内有根
f(x)= x3−3x−1