本文由手写笔记《高级数值分析》扫描件的 LaTeX 转录稿改写而来,忠实保留原稿的文字与公式。
定理与定义的编号是本站为方便指代所加,原稿只有名称、没有编号。
6.1 引言
设要求解非线性方程组
F(x)=0,F:Rn→Rn.
非线性迭代法通常构造成不动点格式
x(k+1)=φ(x(k)),
其中解 x∗ 满足 x∗=φ(x∗)。更一般地,p 步迭代可写为
x(k)=φk(x(k−p),x(k−p+1),…,x(k−1)),k≥p.
将其化为一阶迭代时,令
y(k)=x(k)x(k+1)⋮x(k+p−1),
即可把 p 步格式视作扩展空间中的不动点迭代。
定义 6.1(收敛与收敛阶)
若 x(k)→x∗,则称迭代序列收敛到 x∗。若存在常数 C>0、整数 k0 及 p≥1,使得对一切 k≥k0 有
x(k+1)−x∗≤Cx(k)−x∗p,
则称该迭代为 Q-阶至少为 p 的收敛。当 p=1 且可取 0<C<1 时,称为 Q-线性收敛;当 p>1 时,称为超线性收敛。
定义 6.2(R-线性收敛)
若存在 C>0、0<q<1 及 k0,使得
x(k)−x∗≤Cqk,k≥k0,
则称 x(k) R-线性收敛到 x∗。Q-线性收敛必蕴含 R-线性收敛。
6.2 一元非线性方程
考虑方程
f(x)=0.
6.2.1 二分法
设 f∈C[a0,b0],并且
f(a0)f(b0)<0.
由介值定理,区间 (a0,b0) 内至少存在一个零点 x∗。取中点
xk=2ak+bk.
若 f(ak)f(xk)<0,令 ak+1=ak、bk+1=xk;否则令 ak+1=xk、bk+1=bk。由此得到嵌套区间
[a0,b0]⊃[a1,b1]⊃⋯,bk−ak=2−k(b0−a0).
当 bk−ak<ε 时停止。若零点唯一,则 xk→x∗,并且
∣xk−x∗∣≤2bk−ak=2k+1b0−a0.
二分法收敛可靠且不需要导数信息,但收敛速度较慢。
6.2.2 不动点迭代
将 f(x)=0 等价地改写为
x=φ(x),
并取迭代
xk+1=φ(xk).
定理 6.1(压缩映射原理)
设 φ∈C[a,b],φ([a,b])⊆[a,b],且存在 0≤L<1,使得
∣φ′(x)∣≤L,x∈[a,b].
则方程 x=φ(x) 在 [a,b] 内有唯一解 x∗。任取 x0∈[a,b],迭代 xk+1=φ(xk) 均收敛到 x∗,且
∣xk−x∗∣≤1−LLk∣x1−x0∣.
定理 6.2(局部收敛判别)
设 φ∈C1,且 x∗=φ(x∗)。
- 若 ∣φ′(x∗)∣<1,则存在 x∗ 的一个邻域,使其中任意初值产生的迭代均收敛到 x∗;
- 若 ∣φ′(x∗)∣>1,则 x∗ 为不稳定不动点:充分接近但不等于 x∗ 的初值一般不会收敛到 x∗。
并且在 xk→x∗、xk=x∗ 时,
k→∞limxk−x∗xk+1−x∗=φ′(x∗).
定理 6.3(不动点迭代的高阶收敛)
设 φ∈Cp,x∗=φ(x∗),并且
φ′(x∗)=⋯=φ(p−1)(x∗)=0,φ(p)(x∗)=0.
则当初值充分接近 x∗ 时,迭代至少 Q-阶 p 收敛,且
k→∞lim(xk−x∗)pxk+1−x∗=p!φ(p)(x∗).
6.2.3 Newton 法
在 xk 处以 f 的切线近似 f:
Lk(x)=f(xk)+f′(xk)(x−xk).
令 Lk(xk+1)=0,得到 Newton 迭代
xk+1=xk−f′(xk)f(xk).
定理 6.4(Newton 法的局部收敛性)
设 f∈C2,f(x∗)=0 且 f′(x∗)=0。当 x0 充分接近 x∗ 时,Newton 迭代收敛到 x∗,且为二阶收敛:
k→∞lim(xk−x∗)2xk+1−x∗=2f′(x∗)f′′(x∗).
若 x∗ 是 f 的 m 重根,即
f(x∗)=f′(x∗)=⋯=f(m−1)(x∗)=0,f(m)(x∗)=0,
则通常 Newton 法仅线性收敛,并有
k→∞limxk−x∗xk+1−x∗=mm−1.
为避免每步求导,可用相邻两点的差商替代导数,得到割线法:
xk+1=xk−[xk−xk−1f(xk)−f(xk−1)]−1f(xk).
割线法的收敛阶为
p=21+5.
若以每步所需函数计算次数衡量效率,则割线法的效率指标
ES=ln21+5
高于 Newton 法的指标 EN=ln2。
6.3 非线性方程组
现讨论非线性方程组
F(x)=0,F=(f1,…,fn)T:Rn→Rn.
以下设 D⊂Rn 为定义域,x∗∈D 是方程组的解。
6.3.1 局部收敛性
若迭代写为
x(k+1)=φ(x(k)),
则 x∗ 是不动点,即 φ(x∗)=x∗。
定理 6.5(方程组不动点迭代的局部收敛性)
设 φ 在 x∗ 的某邻域内连续可微,且
φ(x∗)=x∗,ρ(φ′(x∗))<1,
其中 ρ(⋅) 表示谱半径。则存在 x∗ 的一个邻域 B(x∗,δ)⊂D,使得任取 x(0)∈B(x∗,δ),迭代序列均收敛到 x∗。
6.3.2 Newton 法
在 x(k) 处对 F 作一阶线性化。记 JF(x)=F′(x) 为 Jacobi 矩阵,则 Newton 步为
x(k+1)=x(k)−[F′(x(k))]−1F(x(k)).
实际计算时通常不显式求逆,而是先解线性方程组
F′(x(k))s(k)=−F(x(k)),
再令
x(k+1)=x(k)+s(k).
定理 6.6(Newton 法的局部收敛性)
设 F 在 x∗ 的某邻域内连续可微,F(x∗)=0 且 F′(x∗) 非奇异。则当初值 x(0) 充分接近 x∗ 时,Newton 迭代收敛到 x∗。若 F′ 在该邻域内 Lipschitz 连续,即存在常数 L>0 使
∥F′(x)−F′(y)∥≤L∥x−y∥,
则 Newton 法二次收敛。
6.3.3 割线法
为避免在每一步重新计算 Jacobi 矩阵,可用线性函数
L(x)=Ax+b
插值 F。若给定 n+1 个点 x(0),…,x(n),并满足
L(x(i))=F(x(i)),i=0,…,n,
且这些点仿射无关,则 A,b 唯一确定。令
Hk,n=[x(k+1)−x(k),…,x(k+n)−x(k+n−1)],
Tk,n=[F(x(k+1))−F(x(k)),…,F(x(k+n))−F(x(k+n−1))].
当 Hk,n 非奇异时,线性模型的系数为
Ak,n=Tk,nHk,n−1.
于是割线迭代可以写成
x(k+1)=x(k)−Ak,n−1F(x(k)).
该方法每步利用前面若干点的函数值差分近似导数信息。
6.3.4 拟 Newton 法
拟 Newton 法以矩阵 Bk 近似 F′(x(k)),取
x(k+1)=x(k)−Bk−1F(x(k)).
令
sk=x(k+1)−x(k),yk=F(x(k+1))−F(x(k)),
则更新矩阵应满足割线条件
Bk+1sk=yk.
Broyden 秩一更新在保持 Bk+1sk=yk 的同时,使对 Bk 的改动尽量小:
Bk+1=Bk+skTsk(yk−Bksk)skT.
由更新式立刻可验证 Bk+1sk=yk。在实际应用中还可采用 BFGS、PSB、DFP 等更新公式;它们与割线法、Newton 法一样,均以近似 Jacobi 矩阵为核心。
6.3.5 最小二乘法
当方程组无精确解或希望以残量衡量近似程度时,可转而求解非线性最小二乘问题
x∈RnminΦ(x),Φ(x)=21∥F(x)∥22=21i=1∑nfi(x)2.
其梯度为
∇Φ(x)=i=1∑nfi(x)∇fi(x)=F′(x)TF(x).
因此任何满足 F(x)=0 的点都是 Φ 的全局极小点,并且为驻点;反之,∇Φ(x)=0 是最小二乘问题的一阶必要条件。Gauss–Newton 法正是以该目标函数为基础构造的迭代方法。