最优化基础:非线性方程求根
对分法
假设
-
起始的计算区间
,此时满足两端异号 。 -
选取中点
,计算。 -
如果
,则找到零点,求解完成;否则,若区间长度 ,则输出中点,此时它与区间内某个零点的距离不超过。 -
否则左右两个区间
, 恰有一个满足两端异号,选取它作为新的计算区间 ,回到第二步。
收敛性分析:进行
误差分析:记
Remark
算法的前提条件保证了至少有一个零点,但如果在区间中有多个零点,则可能收敛到其中任一零点。
也可以另外设置残差容差
牛顿法
假设
具体的构造方法为:在
迭代的终止条件有两个:
Remark
-
牛顿法对迭代的初值很敏感,要求初值与真正的零点足够靠近(靠近程度也与
自身性质有关);否则可能跳转并收敛到另外的零点,或者直接不收敛。 -
在初值合适选取时,并且
在有单根时,收敛速度可以达到二阶。(如果在 是重根,可能需要对格式进行修改) -
仅有凸性并不足以保证牛顿法从任意初值收敛,还需要控制初值、导数和迭代所在的区间。例如对
( ),任取正初值可得到收敛到的经典平方根迭代。
对于二阶收敛速度的证明:假设零点非重根,记
对
因此有
经典的平方根算法就是牛顿法的具体应用:计算
关于非线性方程求根的牛顿法可以直接推广到非线性方程组上:求
其中
这里要求
割线法
牛顿法需要使用导函数信息,有时对于非线性函数
为了启动格式,需要提供两个不同的初始值
不动点法
对于方程
即
基于压缩映射原理,我们希望在区间
此时才可以保证不动点迭代收敛。
不动点法提供了非常自由的构造方式:针对具体问题,设计不同的
用