本文最后更新于:2021年10月4日 晚上
『数值分析』4. 非线性方程与迭代解法
马上考试了,简单复习一下几种常见的非线性方程的数值迭代解法
主要包含
- 对分法
- 简单迭代法
- Steffensen 加速收敛法
- Newton迭代法
对于每种方法基本以四个角度站考
前言
求解线性方程的根可以直接求解,对于线性方程组可以用上一章学到的方法对增广炬阵求得数值解,然而对于非线性方程,甚至大多数情况都没有精确解,只能通过数值计算方法求解。因此对一些基础方法的原理,使用条件,具体评估的部分便比较重要。
几点基本符号:p收敛阶数,实际的“精确解”
二分法
-
原理
闭区间上连续函数的零点定理
-
条件
只能求解单根或奇数重根
-
评估
收敛条件太慢
简单迭代法
对于f(x)=0⇔x=ϕ(x)
原理
不动点定理: x∗=ϕ(x∗)
- 关键
- 不动点的存在性: 定理 4.1
- 迭代法是否收敛:定理4.1 ,定理 4.2
收敛公式
x=ϕ(x)
评估
等价的迭代公式多样,需尽可能找到其中收敛的公式并收敛速度较快的
关键定理:
-
定理4.1
ϕ(x)∈C[a,b]在(a,b)内可导,且满足如下条件:
- x∈[a,b]时,ϕ(x)∈[a,b] :迭代序列不超界
- x∈[a,b]时,∣ϕ′(x)≤L<1∣,其中L为常数
则有:
- 方程在区间内时有唯一跟
- 简单迭代法序列收敛
- 有误差估计∣s−xk≤1−LLk∣x1−x0∣∣,∣s−xk≤1−LL∣xk−xk−1∣∣
- TODO: 证明概述
-
定理4.2
s=ϕ(s),ϕ′(x)在包含s的开区间连续,若∣ϕ′(s)∣<1,迭代法局部收敛
Steffensen 加速收敛法
原理
微分中值定理,两步迭代)通过,ϕ′(ξk)=ϕ′(ξk+1)
条件
∣ϕ′(x)∣≤L<1
迭代公式
s≈xk−xk+2−2xk+1+xk(xk+1−xk)2
评估
至少是二阶收敛的,但是若简单迭代法已经有p(p≥2)阶收敛速度,使用此迭代法提高收敛速度作用不大
-
定理4.5 此方法至少是二阶收敛
有点麻烦,这个证不动。。
4.1.5 Newton 迭代法
基本思想
牛顿下山法,若基本牛顿法迭代后的点不能使得|f|更小,在二者之间找到更好的点
原理
Taylor公式,非线性方程线性化
条件
-
初等牛顿法:
-
二阶导数连续,一阶导数不为零,在区间内局部收敛,则收敛于s,(p=2)
- 定理4.6, 满足定理4.2
- 一阶导数小于一,0的邻域
- 证明:
-
区间[a, b]存在二阶导数连续,则产生的序列单调收敛于唯一 的根,且平方收敛
-
定理4.7
当x∈[a,b]时,f′(x)=0 x0∈[a,b],f(x0)f′′(x0)>0
-
牛顿下山法
相比于牛顿法增加迭代过程具有单调性∣f(xk+1)∣<∣f(xk)∣
有下山因子:0<ϵλ≤λ≤1
- 从λ=1逐渐减半,直至满足单调性
- 作为前奏选取牛顿法的初始值
迭代公式
初等牛顿法:xk+1=xk−f′(xk)f(xk)
简化牛顿法:xk+1=xk−f′(x0)f(xk)
牛顿下山法:xk+1=xk−λf′(x0)f(xk)
割线法:xk+1=xk−f(xk)−f(xk−1)f(xk)(xk−xk−1)
评估
初等牛顿法:收敛快,稳定性好,精度高,
但是计算量大,初始值选取要求高
简化牛顿法:计算量小,只有线性收敛,p=1
牛顿下山法:当λ=1时只有线性收敛,但对初值的选取较宽,作为前奏使用
割线法:简化计算量,收敛速度,:p=1.618
4.1.5.2 求解方程m重根的Newton迭代法
基本思想
改进2:f(x)=(x−x∗)mg(x),使用特殊函数转化为单根
条件
多重根, m≥2
迭代公式
改进1:xk+1=xk−f′(xk)mf(xk)
改进2:xk+1=xk−f′(xk)2−f(xk)f′′(xk)f(xk)f′(xk)
评估
改进一:m的位置,求重数:m=1−λk1
(不证明)
改进
改进一:
二阶收敛
改进二:
有函数u(x)=f′(x)f(x),去掉重根,经过代换m重根变为单根
4.1.5.3 割线法
基本思想
条件
- 收敛速度证明:TODO
- 单点割线法:
- f(a)f(b)<0,f′′(x)在区间[a,b]上不变号
- 当x∈[a,b]时,f′(x)=0 x0,x1∈[a,b],f(x0)f′′(x0)>0,f(x0)f(x1)<0
迭代公式
xk+1=xk−f(xk)−f(x0)f(xk)(xk−x0)
改进
单点割线法:简化计算,速度进一步减慢
非线性方程组的迭代解法
- 相对着重于定理的迁移,大致如下
- 向量序列收敛的定义:范数收敛
- 全微分所得Jacobi矩阵
其余除了离散newton迭代法基本类似,不过条件从1维拓展到了多维,而离散牛顿迭代主要在插值中讨论
需要着重强调的是,对于非线性方程组x=G(x)的迭代法的收敛性:
其谱半径ρ(G′(x∗))<1仅仅是迭代法收敛的充分条件
书籍参考自数值分析 颜庆津