一些关于数值分析的笔记。采用的教材是 Numerical Analysis, Richard L. Burden 与 J. Douglas Faries 著。本篇笔记是一些预备的知识。
# 数学基础
在高等数学中,我们有一些基本的定理,用来解决下面几个基本问题。
# 介值定理
若 f∈C[a,b] 且 K∈(f(a),f(b)), 则 ∃c∈(a,b) 使得 f(c)=K. 该定理称为介值定理 (Intermediate Value Theorem),是解决方程解的存在性问题的基础。
# 中值定理
# 罗尔定理
若 f∈C[a,b] 且 f 在 (a,b) 上可微,且 f(a)=f(b), 则 ∃c∈(a,b) 使得 f′(c)=0. 该定理称为罗尔定理 (Rolle's Mean Value Theorem)。
对于罗尔中值定理,我们有一个显然的推论:
设 f∈C[a,b] 且在 (a,b) 上 n 次可微,若 ∃x0<x1<⋯<xn 使得 f(xi)=0,i=0,1,…,n,则∃c∈(x0,xn) 使得f(n)(c)=0。该定理称为一般罗尔定理 (Generalized Rolle's Theorem)。
显然,连续使用 n 次罗尔定理即可证明。
# 拉格朗日中值定理
若 f∈C[a,b] 且 f 在 (a,b) 上可微,则 ∃c∈(a,b) 使得 f′(c)=b−af(b)−f(a). 该定理称为拉格朗日中值定理 (Lagrange's Mean Vakue Theorem)。
# 柯西中值定理
若f,g∈C[a,b] 且f,g 均在(a,b) 上可微,则∃c∈(a,b) 使得(g(b)−g(a))f′(c)=(f(b)−f(a))f′(c)。特别地,若g′(c)=0 且g(a)=g(b),则可以写成g′(c)f′(c)=g(b)−g(a)f(b)−f(a),该定理称为柯西中值定理 (Cauchy's Mean Value Theorem)。
# 极值定理
若f∈C[a,b],则∃c1,c2 使得∀x∈[a,b],满足f(x)∈[f(c1),f(c2)]。若f 在(a,b) 上可微,则c1,c2 是[a,b] 的端点或是使f 在此处导数为0 的点。
# 泰勒定理
设 f∈Cn[a,b], f(n+1) 在 [a,b] 上存在,且 x0∈[a,b], 则对 ∀x∈[a,b], 存在 x0 与 x 间的数 ξ(x) 使得
f(x)=k=0∑nk!f(k)(xk)(x−x0)k+(n+1)!f(n+1)(ξ(x))(x−x0)n+1
此时称
Pn(x):=k=0∑nk!f(k)(xk)(x−x0)k
为 n 阶 泰勒多项式 (Taylor polynomial),称
Rn(x):=(n+1)!f(n+1)(ξ(x))(x−x0)n+1
为与 Pn 相关的余项 (remainder term) 或截断误差 (truncation error)。
若 n→∞, 称此时得到的无穷级数为泰勒级数 (Taylor series)。
# 误差分析基础
在数值分析中,计算的两个目标是找到近似值和确定逼近的精度。由此,就产生了误差分析的想法。在数值计算中,误差常包括以下两类:
- 截断误差 (truncation error):采用有限和估计无穷级数产生的误差。
- 舍入误差 (round-off error):采用近似数代替原数产生的误差。
# 舍入误差的相关概念
# 绝对误差和相对误差
若 p∗ 是 p 的近似数,那么称 ∣p−p∗∣ 为绝对误差 (absolute error),称 ∣p∣∣p−p∗∣ 是相对误差 (relative error)。
# 有效数字
若 t 是最大的自然数,使得
∣p∣∣p−p∗∣≤5×10−t
则称数 p∗ 称为逼近到 p 的 t 位有效数字 (significant digits)。
# 一些常见的减小误差的方法
常见的减小误差的方法包括有理化 (rationalization) 和嵌套算法 (nested arithmetic)。例如,秦九韶算法 (Horner algorithm) 是嵌套算法的应用。
# 算法和收敛性
# 算法
由于数值分析是给出近似估计方法,同时考虑计算机计算精度和速度的学科,于是在数值分析中,我们一般需要给出具体的算法 (常以伪代码的形式)。在数值分析的算法中,我们的输入除已知参数值外,一般还包括精度要求TOL 和最大迭代次数M。这两项是算法终止的判断标志。
# 收敛性
收敛性和分析中的定义相同。
设{βn}n=1∞ 是收敛于0 的已知序列,{αn}n=1∞ 收敛于α,若∃K∈R+,N∈N+ 使得
∣αn−α∣≤K∣βn∣
对∀n≥N 成立,则称{αn} 以收敛速度O(βn) 收敛于α,记作αn=α+O(βn). 我们常使用的比较对象βn=np1, p∈R+.
如果不采用辅助数列进行收敛速度定义,我们可以定义收敛阶的概念。
设{pn}n=1∞ 收敛于p,且∀n,pn=p,则若存在λ,α∈R+ 使得
n→∞lim∣pn−p∣m∣pn+1−p∣=λ
成立,则称{pn} 以阶 (order)α 收敛于p,且渐近误差常数 (asymptotic error constant) 为λ.