Chapter 2 一元方程的求解 | Solutions of Equations in One Variable¶
约 1520 个字 5 张图片 预计阅读时间 8 分钟
2.0 停机程序 | Stopping procedure¶
我们可以选择一个精度要求
如果
也有可能
3号条件是能运用的最好的停机准则,因为它最接近测试相对误差。
2.1 二分法 | Bisection Method¶
为什么要用a+(b-a)/2,而不用(b+a)/2?
- 因为a和b可能是很大的数,相加可能会溢出。
- 因为a和b可能是很小的数,相加可能会产生舍入误差。用此方法可以确保a+(b-a)/2落在a和b之间。
- 例如,用截断保留2位有效数字,a=0.91,b=0.93,(a+b)/2=1.8/2=0.9,而a+(b-a)/2=0.91+(0.93-0.91)/2=0.92。
2.2 不动点迭代 | Fixed-Point Iteration¶
不动点的存在性和唯一性的充分条件:
a.
b.
则对于任意
且我们有误差限
误差界分析
2.3 牛顿迭代法 | Newton's Method¶
就是用切线逼近零点,然后求切线与x轴的交点,作为下一个点,如此往复。
定理:设
证明:
牛顿迭代法的收敛性取决于初始近似值的选择。
2.4 迭代法的误差分析 | Error Analysis for Iterative Methods¶
假设
则称
一般具有高阶收敛性的序列收敛速度更快。
-
如果
,则该序列是线性收敛的(linearly convergent)。 -
如果
,则该序列是二次收敛的(quadratically convergent)。
不动点法¶
不动点法的收敛阶和渐进误差常数:
因此,如果
牛顿迭代法¶
牛顿迭代法的收敛阶和渐进误差常数:
由泰勒展开:
因此,牛顿迭代法是二次收敛的,且渐进误差常数为
不动点法的多重根情况¶
如果
牛顿法的多重根情况¶
如果
所以
由不动点法的迭代情况可知,此时为线性收敛,不为二次收敛。
牛顿法多重根下的优化¶
定义
如果
又
所以
这就是让有多重根的牛顿法二次收敛的方法。
- 要求二阶导
- 分母由两个接近于0的数相减,会引起严重的舍入误差。
2.5 加速收敛 | Accelerating Convergence¶
二次收敛是很少可以得到的,我们在日常中总会碰到线性收敛。为了考虑如何加速线性收敛序列的收敛速度,下面介绍——AITKEN
AITKEN 方法¶
对于给定的序列,向前差分(forward difference)定义为
假设
为了便于构造比
从而
解出
于是,我们可以构造序列
这样定义序列的方法就是AITKEN
为什么说更快?
可以证明
怎么迭代?
其实还是用序列本身的迭代法,不过在计算值的时候采取了AITKEN
构造按如下顺序:
Steffensen 方法¶
这个方法假设
算法如下:
注意
我们一般要求