不动点法,收敛速度,二次终止性
方程求根方法
0.不动点迭代法
\(一般我们求解的方程是\)
\(可以等价的改写为\)
\(若x^*满足f(x^*)=0,则亦满足x^*=\phi(x^*),则称x^*是函数\phi(x)的一个不动点\)
\(求f(x)的零点等价于求\phi(x)的不动点,选择一个初始近似值x_0,代入右端,即\)
\(如此迭代就是不动点迭代法\)
注意
\(将f(x)=0改写成x=\phi(x)的方式很多,不是每个\phi(x)都能收敛\)
\(比如\)
\(改写为\)
\(就无法迭代\)
\(就可以收敛\)
1.收敛速度
\(设有序列\{x_k\}收敛到x^*,若极限\)
\(存在,则当0<\beta <1时,称\{x_k\}线性收敛\)
\(当\beta =0 时,称\{x_k\}超线性收敛\)
\(当\beta=1是,称\{x_k\} 为此线性收敛\)
\(一般次线性收敛的收敛速度太慢,不予考虑\)
\(若存在某个p\ge 1,有\)
\(则称\{x_k\}为p阶收敛,当p>1,p阶收敛必为超线性收敛,但反之不一定成立\)
\(p=2称为二阶收敛\)
2.二次终止性
\(设G是n阶正定对称矩阵,称函数\)
\(为正定二次函数\)
\(若某个算法对于任意的正定二次函数,从任意的起始点出发,都能经有限步迭代到其极小点,则称该算法具有二次终止性\)
\(为什么用算法的二次终止性来做判定算法优劣的标准呢?\)
- \(1.正定二次函数具有某些好的性质,因此一个好的算法应能够在有限步内达到其最小点\)
- \(2.队友一个一般目标函数,若在其极小点处的Hesse矩阵\nabla^2f(x^*)正定,则泰勒展开\)
\(即目标函数f(x)在极小点附件与一个正定二次函数相近似,因此可以猜想:对于正定二次函数好的算法,对于一般目标函数也应具有较好的性质\)
3.一些算法的收敛性
- \(若一维搜索是精确的,则共轭梯度法具有二次终止性\)
- \(牛顿法是二阶收敛的,收敛速度快\)
定理
\(对于迭代过程x_{k+1}=\phi(x_k)及正整数p,如果\phi^{(p)}(x)在所求根x^*的邻近连续,并且有\)
\(则该迭代过程在点x^*邻近是p阶收敛的\)
\(回到牛顿法\)
\(于是方程f(x)=0可近似地表示为\)
\(迭代公式有\)
\(因为有f(x^*)=0,f'(x^*)\ne 0,所有有\phi'(x^*)=0,\phi^{''}(x^*)\ne 0,所以根据上面的定理,牛顿法是二阶收敛的\)
- \(根据上面的定理有,迭代过程的收敛速度依赖于迭代函数\phi(x)的选取,如果当x\in [a,b]时,\phi^{'}(x)\ne 0,则该迭代过程只可能是线性收敛\)
- \(若不动点迭代法\)
\(是p阶收敛,那么斯特芬森迭代法是p+1阶收敛\)
- \(弦截法按阶p=\frac{1+\sqrt{5}}{2}\sim 1.618收敛,p是方程\lambda^2-\lambda -1=0的正根\)
- \(抛物线法也是超线性收敛的,收敛的阶=1.840,是方程\lambda^3-\lambda^2-\lambda-1=0的根\)