逐次逼近法
文章目录
4.1解线性方程组的迭代法
简单迭代法
1.Jacobi迭代法:
A
=
D
−
L
−
U
A=D-L-U
A=D−L−U
D
x
=
(
L
+
U
)
x
+
b
Dx=(L+U)x+b
Dx=(L+U)x+b
x
=
D
−
1
(
L
+
U
)
x
+
D
−
1
b
x=D^{-1}(L+U)x+D^{-1}b
x=D−1(L+U)x+D−1b
B
J
=
D
−
1
(
L
+
U
)
,
f
=
D
−
1
b
B_J=D^{-1}(L+U),f=D^{-1}b
BJ=D−1(L+U),f=D−1b
x
=
B
J
x
+
f
x=B_J x+f
x=BJx+f
2.Gauss-Seidel迭代法:
B
G
=
(
D
−
L
)
−
1
U
,
f
G
=
(
D
−
L
)
−
1
b
B_G~=(D-L)^{-1}U,f_G=(D-L)^{-1}b
BG =(D−L)−1U,fG=(D−L)−1b
x
(
k
+
1
)
=
B
G
x
(
k
)
+
f
G
,
(
k
=
0
,
1
,
.
.
.
)
x^{(k+1)}=B_G x^{(k)}+f_G ,(k=0,1,...)
x(k+1)=BGx(k)+fG,(k=0,1,...)
迭代法的收敛性
**定理4.1 **
定理4.2 迭代法
x
(
k
+
1
)
=
B
x
(
k
)
+
f
x^{(k+1)}=Bx^{(k)}+f
x(k+1)=Bx(k)+f
x和B均收敛的充要条件是
ρ
(
B
)
<
1
ρ(B)<1
ρ(B)<1
定理4.3(充分条件)若||B||<1,则迭代法
x
(
k
+
1
)
=
B
x
(
k
)
+
f
x^{(k+1)}=Bx^{(k)}+f
x(k+1)=Bx(k)+f收敛。
1.Jacobi迭代法收敛:
B
J
=
D
−
1
(
L
+
U
)
B_J=D^{-1}(L+U)
BJ=D−1(L+U)
d
e
t
(
λ
I
−
B
J
)
=
0
det(λI-B_J)=0
det(λI−BJ)=0
得出
ρ
(
B
)
ρ(B)
ρ(B)并判断是否>1
2.Gauss-Seidel迭代法收敛:
B
G
=
(
D
−
L
)
−
1
U
B_G=(D-L)^{-1}U
BG=(D−L)−1U
d
e
t
(
λ
I
−
B
G
)
=
0
det(λI-B_G)=0
det(λI−BG)=0
d
e
t
(
λ
(
D
−
L
)
−
U
)
=
0
det(λ(D-L)-U)=0
det(λ(D−L)−U)=0
定义4.1 对角占优,严格对角占优
定理4.4 若Ax=b中A为严格对角占优阵,则Jacobi和Gauss-Seidel法均收敛。
4.2 非线性方程组的迭代解法
4.2.1 简单迭代法
x
k
+
1
=
φ
(
x
k
)
x_{k+1}=φ(x_k)
xk+1=φ(xk)
φ
(
x
)
φ(x)
φ(x)为迭代函数,
x
k
x_k
xk为第k步的迭代值。
k趋于无穷时,
x
k
x_k
xk趋于
α
α
α,则称迭代法收敛,否则迭代法收敛。
定理4.5 函数
φ
(
x
)
φ(x)
φ(x)满足
(1)当x属于【a,b】时,
a
≤
φ
(
x
)
≤
b
a≤φ(x)≤b
a≤φ(x)≤b
(2)存在整数
0
<
L
<
1
0<L<1
0<L<1,对任意x属于【a,b】,均有
∣
φ
′
(
x
)
∣
≤
L
|φ^{'}(x)|≤L
∣φ′(x)∣≤L
则在【a,b】上存在唯一根
α
α
α,且对任意初始值x0属于【a,b】,迭代法
x
k
+
1
=
φ
(
x
k
)
x_{k+1}=φ(x_k)
xk+1=φ(xk)
收敛于
α
α
α,且
∣
x
k
−
α
∣
≤
L
1
−
L
∣
x
k
−
x
k
−
1
∣
|x_{k}-α|≤\frac{L}{1-L}|x_{k}-x_{k-1}|
∣xk−α∣≤1−LL∣xk−xk−1∣
∣
x
k
−
α
∣
≤
L
k
1
−
L
∣
x
1
−
x
0
∣
|x_{k}-α|≤\frac{L^k}{1-L}|x_{1}-x_{0}|
∣xk−α∣≤1−LLk∣x1−x0∣
局部收敛:
∣
φ
′
(
x
)
∣
<
1
|φ^{'}(x)|<1
∣φ′(x)∣<1
x
k
=
φ
(
x
k
−
1
)
x_{k}=φ(x_{k-1})
xk=φ(xk−1)收敛于
α
α
α,,即f(α)=0
定义4.2 p≥1,c>0,k趋于无穷时
l
i
m
∣
e
k
+
1
∣
∣
e
k
∣
=
c
lim\frac{|e_{k+1}|}{|e_{k}|}=c
lim∣ek∣∣ek+1∣=c
迭代法p阶收敛,当p=1时,称为线性收敛,p>1时称为超线性收敛,当p=2时称为平方收敛。
p越大,迭代法的收敛速度也越快。
定理4.6 如果
x
=
φ
(
x
)
x=φ(x)
x=φ(x)的迭代函数
φ
(
x
)
φ(x)
φ(x)在根
α
α
α附近满足:
(1)
φ
(
x
)
φ(x)
φ(x)存在p阶导函数且连续;
(2)
φ
′
(
α
)
=
φ
′
′
(
α
)
=
.
.
.
=
φ
p
−
1
(
α
)
=
0
,
φ
p
(
α
)
≠
0
φ'(α)=φ''(α)=...=φ^{p-1}(α)=0,φ^{p}(α)≠0
φ′(α)=φ′′(α)=...=φp−1(α)=0,φp(α)=0,则迭代法
x
k
+
1
=
φ
(
x
k
)
x_{k+1}=φ(x_{k})
xk+1=φ(xk)为p阶收敛。
4.2.2 Newton 迭代法及其变形
定理4.7 设方程
f
(
x
)
=
0
f(x)=0
f(x)=0的根为
α
α
α,且
f
′
(
x
)
≠
0
f'(x)≠0
f′(x)=0,则迭代法
x
k
+
1
=
x
k
−
f
(
x
k
)
f
′
(
x
k
)
(
k
=
0
,
1
,
2
,
.
.
.
)
x_{k+1}=x_{k}-\frac{f(x_k)}{f'(x_k)}(k=0,1,2,...)
xk+1=xk−f′(xk)f(xk)(k=0,1,2,...)
至少是平方收敛的,并称该表达式为Newton迭代法(也称切线法)。
由于Newton迭代法带有导数,使用不方便,可用导数的近似值代替导数。
f
′
(
x
k
)
≈
f
(
x
k
)
−
f
(
x
k
−
1
)
x
k
−
x
k
−
1
f'(x_k)≈\frac{ f(x_{k})-f(x_{k-1}) }{x_{k}-x_{k-1} }
f′(xk)≈xk−xk−1f(xk)−f(xk−1)
x
k
+
1
=
x
k
−
f
(
x
k
)
f
(
x
k
)
−
f
(
x
k
−
1
)
(
x
k
−
x
k
−
1
)
x_{k+1}=x_{k}-\frac{f(x_k)}{f(x_{k})-f(x_{k-1})}(x_{k}-x_{k-1})
xk+1=xk−f(xk)−f(xk−1)f(xk)(xk−xk−1)该式为弦截法,弦截法的收敛阶为
p
=
(
1
+
5
)
/
2
=
1.618
p=(1+\sqrt[]{5})/2=1.618
p=(1+5)/2=1.618,低于Newton法,为超线性收敛。
弦截法在几何上是一种以直代曲的近似方法。
初始值的选取与Newton法的收敛很有关系,使用时必须充分注意。
使用Newton法时,为了防止迭代发散,附件一个条件:
∣
f
(
x
k
+
1
)
∣
<
∣
f
(
x
k
)
∣
|f(x_{k+1})|<|f(x_{k})|
∣f(xk+1)∣<∣f(xk)∣
x
k
+
1
=
x
k
−
λ
f
(
x
k
)
f
′
(
x
k
)
(
0
<
λ
≤
1
)
x_{k+1}=x_{k}-λ\frac{f(x_k)}{f'(x_k)}(0<λ≤1)
xk+1=xk−λf′(xk)f(xk)(0<λ≤1),λ为下山因子,该迭代法为Newton下山法。
4.2.3 多根区间上的逐次逼近法
一、【a,b】是f(x)=0仅有单根的多根区间
(1)求单根区间
(2)在单根区间【c,d】求根
4.3计算矩阵特征问题的幂法
4.3.1 幂法
4.3.2 反幂法
4.4 迭代法的加速
4.4.1 基本迭代法的加速(SOR)
4.4.2 Aitken加速
4.5 共轭梯度法
4.5.1 最速下降法
4.5.2 共轭梯度法(简称CG法)
x
0
=
(
0
,
0
,
0
)
T
x_0=(0,0,0)^T
x0=(0,0,0)T
r
0
=
b
−
A
x
0
=
p
0
r_0=b-Ax_0=p_0
r0=b−Ax0=p0
α
0
=
(
r
0
,
r
0
)
(
p
0
,
A
p
0
)
α_0=\frac{(r_0,r_0)}{(p_0,Ap_0)}
α0=(p0,Ap0)(r0,r0)
x
1
=
x
0
+
α
0
p
0
x_1=x_0+α_0p_0
x1=x0+α0p0
r
1
=
r
0
−
α
0
A
p
0
r_1=r_0-α_0Ap_0
r1=r0−α0Ap0
β
0
=
(
r
1
,
r
1
)
(
r
0
,
r
0
)
β_0=\frac{(r_1,r_1)}{(r_0,r_0)}
β0=(r0,r0)(r1,r1)
p
1
=
r
1
+
(
β
0
,
β
0
,
β
0
)
T
p_1=r_1+(β_0,β_0,β_0)^T
p1=r1+(β0,β0,β0)T
α
1
=
(
r
1
,
r
1
)
(
p
1
,
A
p
1
)
α_1=\frac{(r_1,r_1)}{(p_1,Ap_1)}
α1=(p1,Ap1)(r1,r1)
x
2
=
x
1
+
α
1
p
1
x_2=x_1+α_1p_1
x2=x1+α1p1
r
2
=
r
1
−
α
1
A
p
1
=
(
0
,
0
,
0
)
T
r_2=r_1-α_1Ap_1=(0,0,0)^T
r2=r1−α1Ap1=(0,0,0)T
方程组的解为 x 2 x_2 x2