计算方法-迭代法讲义
计算方法(方程组的迭代法)

程组 Ax b 的 Seidel 迭代对任何初始向量 x0 都收敛。
利用上述三个判别定理(定理 3,4,5),可以 根据线性方程组 Ax b的系数矩阵 A的特点,可以 方便地判断出对应的 Jacobi 迭代和 Seidel 迭代 是否收敛,但要注意它们都是充分条件。
…… ………
x=
.. x2
cn1 cn3
cn4 … 0
xn
a11
D= a22..
g=
ann
g1 .g. 2
易看出:BJ =D-1(D-A)=I-D-1A
gn
Jacobi迭代公式
xi(k 1 )jn 1a a ii ijx(jk)a b iii j i
i 1 ,2 , ,n
Jacobi迭 代 的 矩 阵 格 式 x(k1) BJx(k)gJ
这说明 k D L U 也是严格对角占优矩阵。易证严
格对角占优矩阵是非奇异矩阵,从而有
det k
DL
U
0
。这与式(*)矛盾,矛盾说明
k 1。由 k 的任意性,可得 BS 的谱半径 BS 1。
根据定理 5.2,可知 Seidel 迭代对任意的初始向 量 x0 都收敛。
第三个判别定理针对线性方程组的系数 矩阵也是比较特殊的矩阵,这种矩阵称为对称 正定矩阵。
反复利用上式,有:
xk1 x B2 xk1 x Bk1 x0 x (1)
由 x0 的任意性及lim xk x,可得 k
lim Bk 0
k
(2)
所以lim Bk 0,又因定理 1 及Bk Bk Bk ,所 k
以 B 1,必要性得证。
反过来,假设 B 1,则矩阵 I B 是非奇异
2.2 迭代法

x k +1 = 3 x k + 1
计算结果如下: 计算结果如下:
k=0,1,2,3…….
计算方法
k 0 1 2 3 4
xk
1.5 1.35721 1.33086 1.32588 1.32494
k 5 6 7 8
xk
1.32476 1.32473 1.32Байду номын сангаас72 1.32472
精确到小数点后五位
x = 1.32472
′( x* ) = ϕ ′′( x* ) = L = ϕ ( p−1) ( x* ) = 0, ϕ ( p ) ( x* ) ≠ 0 ϕ 邻域是p阶收敛的。 则迭代过程在 x * 邻域是p阶收敛的。
证: 由于 ϕ ′( x * ) = 0 * ′( x* ) < 1 , 即在 x 邻域 ϕ ϕ ( xk ) 在 x * 处 有局部收敛性, 所以 xk+1 = ϕ( xk ) 有局部收敛性, 将 泰勒展开
计算方法
一、迭代法的基本思想: 迭代法的基本思想: 为求解非线性方程f(x)=0的根,先将其写成便于 的根, 为求解非线性方程 的根 迭代的等价方程
x = ϕ ( x)
的连续函数。 其中ϕ ( x ) 为x的连续函数。 的连续函数
(2.3)
计算方法
即如果数 α 使 f(x)=0, 则也有 α = ϕ (α ) , 反之, 反之, 若α = ϕ (α ) ,则也有 f (α ) = 0 的右端, 任取一个初值 x ,代入式 x = ϕ ( x ) 的右端, 得到 0
ϕ ′( x ) ≤ L < 1
计算方法
则对于任意的初始值 x0 ∈ S ,由迭代公式 收敛于方程的根。 产生的数列 { xn } 收敛于方程的根。 (这时称迭代法在 α 的S邻域具有局部收敛性。) 邻域具有局部收敛性。)
计算方法第六章(迭代法)

3、插值加速法
由线性插值公式:
x xk x xk 1 y xk xk 1 xk 1 xk xk xk 1
x xk x xk 1 x xk xk 1 xk 1 xk xk xk 1
xk 1 xk 1 xk 2 x xk 1 2 xk xk 1
2.102599958448522 2.094749937881704 2.094556446501749 2.094551657513653 2.094551538972266 2.094551536038016
x=2.5 10 y=x x=(2*y+5)**(1.0/3.0) if (abs(x-y).lt.0.00000001) then goto 15 endif 15 x=2.5 goto 10 20 y=x x=(2*y+5)**(1.0/3.0) x=1.15*x+(1.0-1.15)*y if (abs(x-y).lt.0.00000001) then goto 30 endif goto 20 30 end
1 2 f ( ) f ( xk ) f ( xk )( xk ) f ( xk )( xk ) 2! 1 (n) 1 n f ( xk )( xk ) f ( n 1) ( k )( xk ) n 1 n! (n 1)!
f ( ) f ( xk ) f ( xk )( xk )
f ( xk ) f ( xk ) 2 改进牛顿法: xk 1 xk f ( xk ) 3 f ( xk ) 2 f ( xk )
牛顿迭代法的收敛性: 牛顿迭代法二阶收敛,两种改进牛顿迭代法三阶收敛
1 0 f ( ) f ( xk ) f ( xk )( xk ) f ( xk )( xk ) 2 2!
2.2 迭代法

首先用归纳假设证明如下不等式
| x* xk | Lk | x* x1 |
38
当k=1时 x x1 L x x0 ,已证成立。
k 1 x x L x x0 成立,可得 假设 k 1
不动点迭代的几何解释 y=f(x)=x y=g(x)
38
不动点判定定理
设g是一连续函数,且 { pn } 是由不动点迭代 n 0
生成的序列。若 lim pn p ,则p是g(x)的不动点
n
pn 1 p pn p ,则 lim 证:lim n n
g ( p ) g (lim pn ) lim g( pn ) lim pn1 p
1 1 x xk x k 1 x k ( x k ) ( x k 1 ) 1 L 1 L L Lk x k x k 1 x1 x0 1 L 1 L
L越小,收敛越快
38
不动点迭代的图形解释
一般来说从 f ( x ) 0 , 构造 ( x )不止一种,有的
38
由介值定理,存在 x [a , b] 使 f ( x ) 0
即
x ( x ).
②设方程 x ( x ) 还有一根 , 即 a (a ). 则由微分中值定理有
x ( x ) ( ) ( )( x ) L x
x4 2x 2 x 3 0 x 2 ( x)
x 4 1
x 3 ( x) x4 2x2 3
(其中第二式 x4 2 x 2 1=x 4 )
常用算法(一)——迭代法

常用算法——迭代法一、迭代法迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。
设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行:(1)选一个方程的近似根,赋给变量x0;(2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0;(3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。
若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。
上述算法用C程序的形式表示为:【算法】迭代法求方程的根{ x0=初始近似根;do {x1=x0;x0=g(x1);/*按特定的方程计算新的近似根*/} while ( fabs(x0-x1)>Epsilon);printf(“方程的近似根是%f\n”,x0);}迭代算法也常用于求方程组的根,令X=(x0,x1,…,xn-1)设方程组为:xi=gi(X) (I=0,1,…,n-1)则求方程组根的迭代算法可描述如下:【算法】迭代法求方程组的根{ for (i=0;i<n;i++)x=初始近似根;do {for (i=0;i<n;i++)y=x;for (i=0;i<n;i++)x=gi(X);for (delta=0.0,i=0;i<n;i++)if (fabs(y-x)>delta) delta=fabs(y-x);} while (delta>Epsilon);for (i=0;i<n;i++)printf(“变量x[%d]的近似根是%f”,I,x);printf(“\n”);}具体使用迭代法求根时应注意以下两种可能发生的情况:(1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制;(2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败。
22第二节 迭代法

上述令p→∞, 及limxk+p=x* (p→∞)即得第一式.
L x xk xk xk 1 1 L
数学学院 信息与计算科学系
3 2 f ( x ) x 4 x 10 0 在 例2 用迭代法求方程
[1,2] 内的一个近似根,取初始近似值 x0 1.5
解
原方程的等价方程可以有以下不同形式
x ( x ) ( ) ( )( x ) L x
此式仅当 x 0 才能成立, 因此 x 。 ( 2) 再证迭代格式 xk 1 ( xk ) 收敛 任取 x0∈[ a, b ],由微分中值定理,有
数学学院 信息与计算科学系
10 x n 1 4 xn xn 1 3 xn 1 10 xn 2 10 xn 1 4 xn
数学学院 信息与计算科学系
考察四种迭代法在根附近的收敛情况,取根的 x0 1.5。 近似值为 解
(1) ( x ) x x 3 4 x 2 10
( x ) 1 3 x 2 8 x (1.5) 17.75 1
e k 1 c ( k , c 0) p ek 则称迭代格式 xk 1 ( xk ) 是 p 阶收敛的.
特别地, p = 1时称为线性收敛, p = 2 时称为二阶(平方)收敛,
p>1时称为超线性收敛. 显然, 收敛阶越大, 收敛越快
利用微分中值定理及泰勒展式可得下面的定理3.
数学学院 信息与计算科学系
定理 3
x x ( x ) 设x 为 之根,在 的邻域 U内
x x ( x ) 在[a , b]上有唯一根 ;
(2) 对任意迭代初值 x0∈[a , b],迭代序列 xk 1 ( xk ) ( k 0,1, 2,) 收敛于 x 。
计算方法迭代法PPT课件

不动点原理(迭代过程收敛)
•定理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] 上 存 在 唯 一 的 不 动 点 x* , 且 对 x0
1 x j 1
g~mj 0 g~mj 0
x 1
G~
n g~mj
j 1
n g~mj x j
j 1
max
1in
n j 1
g~ij x j
G~x
第27页/共33页
Gauss-Seidel迭代收敛性证明
记 那么 存在k使得
,其中y迭代G矩~阵x y D1(Ly Ux)
G~ (L D)1U
x x(k ) k 0
第19页/共33页
2 Jacobi迭代和Gauss-Seidel迭代
• 例3.7
• 解:变形
1x01x1
x2 2x3 7.2 10x2 2x3 8.3
x1 x2 5x3 4.2
x1 x2
0.72 0.1x2 0.83 0.1x1
0.2x3 0.2x3
第24页/共33页
3 迭代的收敛性
• 定理3.4 设G的某种范数||G||<1,则x=Gx+f存在唯一解,且对任意初值,迭代序列 x(k)= Gx (k-1) + f
收敛于x*,进一步有误差估计式
k
x x G x x G • 证明思路:(1)解的存在唯一(k性) ; (2)解的收敛性;((3k))误差估(k计1式) (习题)。
线性代数方程组迭代法PPT课件

超松弛法
收敛速度快
总结词
总结词
计算量较大
ABCD
详细描述
超松弛法具有较快的收敛速度,尤其对于大型线 性方程组,能够显著减少迭代次数。
详细描述
由于超松弛法的计算量较大,因此在实际应用中 可能需要考虑计算效率的问题。
CHAPTER 04
迭代法的实现步骤
初始化
设置初值
为方程组的解向量设定一个初始值。
迭代法的应用场景
当方程组的系数矩阵难以直接求解时 ,迭代法可以作为一种有效的替代方 案。
在科学计算、工程技术和经济领域中 ,许多问题可以转化为线性代数方程 组求解,而迭代法在这些领域有广泛 的应用。
迭代法的优缺点
优点
迭代法通常比直接法更加灵活和通用,对于大规模和高维度的线性代数方程组, 迭代法更加高效。
缺点
迭代法需要选择合适的迭代公式和参数,并且需要满足收敛条件,否则可能无 法得到正确的解。此外,迭代法的计算过程比较复杂,需要较高的计算成本。
CHAPTER 02
迭代法的基本原理
迭代法的数学模型
迭代法是一种求解线性代数方程组的数值方法,通过不断迭代逼近方程的 解。
迭代法的数学模型通常表示为:$x_{n+1} = T(x_n)$,其中$x_n$表示第 $n$次迭代时的近似解,$T(x)$表示迭代函数。
03
非线性方程组的迭代法在求解优化问题、控制问题 等领域有广泛应用。
在优化问题中的应用
01
迭代法在优化问题中也有广泛应用,如求解无约束优化问题、 约束优化问题和多目标优化问题等。
02
常见的优化问题迭代法包括梯度下降法、牛顿法和共轭梯度法
等。
这些方法通过不断迭代来逼近最优解,广泛应用于机器学习、
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算 xi(k1) 时,
x(k 1) j
(
j
i)的值已经算出
所以迭代公式可以修改成:
X (k1) D1LX(k1) D1UX (k) D1b
或写成分量形式
i1
n
x(k1) i
(bi
aij
x
( j
k 1)
aij x(jk) ) / aii
j 1
j i 1
7
把矩阵A 记为 A = D – L – U ,则方程组等价为 (D – L)X = UX+b , 从而有: X = (D – L)-1 UX + (D – L)-1b
2
4.1、雅可比(Jacobi)迭代法
把矩阵A 记为 A = D – L – U ,则方程组等价为
DX = (L+U)X+b ,
若 det(D)0, 则有:
X = D-1(L + U)X + D-1b
得到雅可比迭代矩阵:
BJ = D-1(L + U),b’= D-1b 从而,得到雅可比迭代公式:
注意:这里的对角 矩阵的D-1是非常 容易计算的。
(精度要求)
得到满足要求的近似解。
例子:p.55(p.52)例8 ,10-3的精度,迭代10 次。
3x1x12xx22
5 5
x( 1
k
1)
x(k) 2 3
5 3
x2( k
1)
x(k) 1
2
5 2
x(0 1
x2(0
) )
0 0
6
4.2、高斯-赛德尔迭代法 雅可比方法中
X (k1) D1(L U) X (k) D1b
|| B || 0.62875, || B ||1 0.648065375,
|| B ||2 0.52151, (B) 0.1285
收敛,迭代次数 7。
(B0) 0.36 (BGS ) 0.13
23
p.65(p.62)例11:
4 2 4
2 17 10
4 10 X 9
10
X(k+1)= (D-L)-1[(1- )D+U]X(k) + (D-L)-1b 迭代矩阵 B= (D-L)-1[(1- )D+U]
18
其中 是松弛因子,当 >1 时为超松弛,当 <1 时为低松弛,当 =1 时即为高斯-赛德尔迭代法。
SOR方法的分量形式: 由G-S迭代有
i 1
n
x(k1) i
举例:
8 4
x1 x1
3x2 2x3 11x2 x3
20 33
6 x1 3 x2 12x3 36
精确解
3 2 1
13
(1)简单迭代法
8 3 2 7 3 2 B I A I 4 11 1 4 10 1
6 3 12 6 3 11 20 b' 33 36
5 3
x2( k
1)
x(k 1) 1
2
5 2
x(0 1
x2(0
) )
0 0
8
➢ 雅可比方法与高斯-赛德尔方法的比较 • 收敛与否? • 收敛快慢?
当 A 的主对角线元素全为正,其它元素都≤0时, G-S方法与J方法同收敛或否,且G-S收敛快。
当 A 的元素全为正时,G-S方法优于J方法。
可以试验一下一般情况下两种算法的比较,参见 GSvsJ.m和JvsGS.m两个程序。
(bi
a x( k1) ij j
aij
x
(k j
)
)
/
aii
j 1
j i 1
i 1
n
x(k) i
(bi
a x( k1) ij j
aij
x
( j
k
)
)
/
aii
j 1
ji
x~i(k )
19
计算新的近似值,得到SOR方法:
x( k1) i
x~i(k )
(1 ) xi(k )
i 1
n
x(k) i
(bi
a x( k1) ij j
aij
x
( j
k
)
)
/
aii
j 1
ji
不同的 的值会影响SOR迭代的收敛性、收敛 速度。
20
例(7)SOR迭代法
8 3 2 A 4 11 1
6 3 12
取 =1.5,则迭代矩阵:
1 / 2 9 / 16
3 / 8
B 3 /11 71/ 88 15 / 44
§4、迭代法 解 AX = b 等价形式: X = BX + b’ 得到迭代公式: X(k+1)=B X(k)+b’ 从而由某个初值 X(0)开始逐次计算得到序列 {X(k)}。 B 称为迭代矩阵。 例如,简单迭代法:
X = X-AX+b = (I-A)X + b = BX + b 得到迭代矩阵 B = I-A , b’= b 。
(4)Gauss-Seidel迭代法
0 B 0
0
3/8 3 / 22 27 / 176
1/ 4 2 / 11
7
/
88
2.5
b'
2.0909
1.22727
|| B || 0.625, || B ||1 0.66, || B ||2 0.53, (B) 0.13
收敛,迭代次数8。
3 / 11 21/ 176 61/ 176
15 / 4
b'
27 /11
135 / 176
|| B || 23 / 16 1.4375, || B ||1 131/ 88 1.49,
|| B ||2 1.23, (B) 0.71
收敛,迭代次数45。
21
取
2
1.03453 ,则迭代矩阵:
定理8 Bk 0, k 的充要条件是:
(B) 1
且 (B) 越小,收敛越快。
10
定理5 若迭代公式 X(k+1) = BX(k)+b’ 的迭代矩阵 B 的某个算子范数 || B || = q < 1,则: (1)对任意的初始向量 X(0), 该迭代收敛于原方 程的唯一解 X*;
(2)
||
X*
4x1 2x2 8x3 24 9x3 24 4x1 2x2 x3
15
1 3 / 4 2 / 4
B
4
/
9
2 / 9
1/ 9
4 / 9 2 / 9 1 / 9
5
b
'
33
/
9
24 / 9
|| B || 2.25, || B ||1 1.89, || B ||2 1.37 , (B) 0.85
17
4.4 逐次超松弛迭代法
AX = b AX = b 记A=D–L–U
(D – L – U)X = b DX - LX = UX + b DX - LX = (1- )DX + UX + b (D - L)X = [(1- )D + U]X + b X= (D - L)-1[(1- )D+U]X+ (D - L)-1b 得到逐次超松弛迭代(SOR)公式:
什么时候收敛?收敛速度如何?
1
如果收敛,设:
lim X (k) X * lim || X (k) X * || 0
k
k
则: X * BX * b ' 就是原方程组的解。
X (k1) X * BX (k) BX *
B(X (k) X * ) B X (k) X *
所以,当 B q 1 时,迭代收敛。且有: || X (k ) X * || 1 || X (k1) X (k ) || 1 q
25
作业: (5)第三章p.73(p.69)第10题;
上机作业: (4)p.182(p.154)第7题。
26
|| B ||2 0.5560, (B) 0.153
收敛,迭代次数 8。
(B0 ) 0.36 (BGS ) 0.13
22
取 0.99 ,则迭代矩阵:
0.01 B 0.0036
0.37125 0.12365
0.2475 0.1791
0.004059 0.153165375 0.8818525
SOR迭 代( 1.3545), 17次 , (B) 0.452847
BSOR (D L)1[(1 )D U ] I (D L)1 A
定理9: 若系数矩阵的主对角元素全不为0,则 0<<2 是松弛法收敛的必要条件。
定理10:若A对称正定, 0<<2 ,则对任意初 值,SOR方法收敛。
或
n
| ajj | | aij | j 1,2, , n
i1 i j
则雅可比迭代法与高斯-赛德尔迭代法都收敛到原 方程的唯一解 X*。
12
定理7 若方程组 AX=b 的系数矩阵 A 对称正定, 则高斯-赛德尔迭代法收敛。
证明提要:A = D – L – U U = LT
迭代矩阵 B = (D – L)-1U 只要证明 (B)<1
X (k 1) BJ X (k ) b '
其中:
当||BJ||<1时,雅可 比迭代收敛。
3
计算时用到的Jacobi迭代矩阵:
0
a12 a11
a1(n1) a11
BJ
a21
a22
0
a2(n1)
a22
0
an1
ann
an2 ann
an(n1) ann