跳转至

Lagrange 余项怎样给出可计算误差界?

先备知识

你需要掌握 Taylor 多项式 \(P_n\)、余项 \(R_n=f-P_n\)、Rolle 定理和闭区间上的导数 上界。与 Peano 余项相比,本页会加强条件:不只知道展开点的导数,还要控制展开点到 目标点之间的整段区间。

学习目标

完成本单元后,你应当能够:

  1. 构造具有多个零点条件的辅助函数;
  2. 逐轮核验并使用 Rolle 定理;
  3. 证明 Lagrange 余项公式;
  4. 从高阶导数上界得到可计算误差界;
  5. 在给定误差预算下证明所选阶数是最低阶数。

牵引问题

三阶 Peano 公式告诉我们

\[ e^x=1+x+\frac{x^2}{2}+\frac{x^3}{6}+o(x^3), \]

但它没有直接回答:在 \(x=0.5\) 处,这个多项式的误差是否小于 \(10^{-3}\)?要把 “趋近时相对更小”变成“指定点上小于某个数”,必须让余项显式包含区间上的高阶导数。

探索与猜想

固定 \(x\ne a\),记

\[ R=f(x)-P_n(x). \]

我们希望构造 \(F\),使它在 \(a\) 处有直到 \(n\) 阶的零,并在 \(x\) 处再有一个零。 归一化幂函数

\[ \left(\frac{t-a}{x-a}\right)^{n+1} \]

\(a\) 处有恰好的多重零,在 \(x\) 处等于 1。于是它可以把未知余项 \(R\) 嵌入 辅助函数,并让反复 Rolle 最终把 \(R\)\(f^{(n+1)}\) 联系起来。

概念与理论

条件合同

对固定 \(x\ne a\),设 \(f\) 在某个开区间上具有直到 \(n+1\) 阶导数,这个开区间 包含连接 \(a\)\(x\) 的闭线段。于是 \(f,f',\ldots,f^{(n)}\) 在相应区间连续, 每轮 Rolle 所需的连续与可导条件都有保证。这里不要求最高阶导函数连续。

定理:Lagrange 余项公式

在上述条件下,存在严格位于 \(a,x\) 之间的 \(\xi\),使

\[ R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}. \]

证明障碍。 直接对 \(R_n\) 使用一次中值定理,只能得到一阶导数。我们需要让 Rolle 定理连续使用 \(n+1\) 次,同时确保每一轮都有两个零点。

证明。

\[ R=f(x)-P_n(x) \]

并构造

\[ F(t)=f(t)-P_n(t) -R\left(\frac{t-a}{x-a}\right)^{n+1}. \]

\(t=x\) 时,括号中的幂等于 1,所以

\[ F(x)=f(x)-P_n(x)-R=0. \]

\(t=a\) 时,\(f(a)-P_n(a)=0\),归一化幂也为零,所以 \(F(a)=0\)。对 \(1\le k\le n\),Taylor 多项式满足

\[ P_n^{(k)}(a)=f^{(k)}(a), \]

\((t-a)^{n+1}\) 的前 \(n\) 阶导数在 \(a\) 处都为零。因此

\[ F^{(k)}(a)=0\qquad(1\le k\le n). \]

现在追踪零点。为简洁先设 \(a<x\);若 \(x<a\),只需把闭区间左右端按大小排列, 论证完全相同。

  1. \(F(a)=F(x)=0\),第一次 Rolle 给出 \(c_1\in(a,x)\),使 \(F'(c_1)=0\)
  2. \(F'(a)=F'(c_1)=0\),第二次 Rolle 给出 \(c_2\in(a,c_1)\),使 \(F''(c_2)=0\)
  3. 一般地,\(F^{(j)}(a)=F^{(j)}(c_j)=0\),下一次 Rolle 给出 \(c_{j+1}\) 使 \(F^{(j+1)}(c_{j+1})=0\)

连续进行到第 \(n+1\) 次,得到某个严格位于 \(a,x\) 之间的 \(\xi\),满足

\[ F^{(n+1)}(\xi)=0. \]

由于 \(P_n^{(n+1)}=0\),并且

\[ \frac{\mathrm d^{\,n+1}}{\mathrm dt^{\,n+1}} \left(\frac{t-a}{x-a}\right)^{n+1} =\frac{(n+1)!}{(x-a)^{n+1}}, \]

所以

\[ 0=f^{(n+1)}(\xi)-R\frac{(n+1)!}{(x-a)^{n+1}}. \]

解出 \(R\) 即得定理。\(\square\)

推论:高阶导数误差界

若在 \(a\)\(x\) 之间的整个闭线段上有

\[ |f^{(n+1)}(t)|\le M, \]

\[ |R_n(x)|\le\frac{M}{(n+1)!}|x-a|^{n+1}. \]

这个不等式可直接计算,但 \(M\) 不是装饰:每次应用都必须说明它控制哪个区间,以及 为什么该区间上确有此界。

例题与迁移

例题1:由误差预算选择最低阶数

\(e^x\) 在零点的 Taylor 多项式近似 \(e^{0.5}\),要求由 Lagrange 上界保证误差 小于 \(10^{-4}\)

\([0,0.5]\) 上,任意阶导数都是 \(e^t\),所以可取

\[ M=e^{0.5}<1.649. \]

\(n\) 阶多项式的误差满足

\[ |R_n(0.5)| \le \frac{1.649}{(n+1)!}(0.5)^{n+1}. \]

记右侧为 \(B_n\)。相邻上界的比值为 \(0.5/(n+2)<1\),所以 \(B_n\)\(n\) 严格下降。由此只要四阶上界不满足,就知道所有低于四阶的上界更大。

\(n=4\),上界约为

\[ \frac{1.649(0.5)^5}{5!}\approx4.29\times10^{-4}, \]

不满足要求。对 \(n=5\)

\[ \frac{1.649(0.5)^6}{6!}\approx3.58\times10^{-5}<10^{-4}. \]

因此 \(n=5\) 是由这条上界能够保证目标预算的最低阶数。相应多项式是

\[ P_5(0.5)=\sum_{k=0}^{5}\frac{0.5^k}{k!}. \]

例题2:已知阶数计算误差上界

\[ P_3(x)=x-\frac{x^3}{6} \]

近似 \(\sin x\)\(x=0.2\) 的值。这里 \(a=0,n=3\)。在 \([0,0.2]\) 上, \(|\sin^{(4)}t|=|\sin t|\le1\),可取 \(M=1\)。因此

\[ |\sin0.2-P_3(0.2)| \le\frac{0.2^4}{4!} \approx6.67\times10^{-5}. \]

这个上界有效但并不声称等于真实误差。事实上若使用更紧的 \(|\sin t|\le0.2\),还能把界进一步缩小。

即时检验与回望

即时检验1

证明 \(F'(a)=0\) 时,归一化幂项为什么没有贡献。

答案

归一化幂项的一阶导数为

\[ \frac{n+1}{(x-a)^{n+1}}(t-a)^n. \]

\(n\ge1\)\(t=a\) 时它为零;同时 \(f'(a)-P_n'(a)=0\),故 \(F'(a)=0\)

即时检验2

若误差预算为 \(10^{-4}\),某阶上界为 \(8\times10^{-5}\),能否不检查前一阶就称 该阶为最低阶数?

答案

不能。这只能证明该阶满足预算。要证明“最低”,还必须验证所有更低阶不满足;若 上界随阶数在本例中单调下降,检查紧邻的前一阶即可完成排除。

回看牵引问题:区间上的高阶导数界把未知中间点处的导数替换为已知常数 \(M\),从而把 渐近公式变成固定目标点上的可计算保证。

习题与答案

习题1:端点零值

直接核验辅助函数的 \(F(a)=F(x)=0\)

答案

\(a\) 处,\(f(a)-P_n(a)=0\),且 \((a-a)^{n+1}=0\),所以 \(F(a)=0\)。 在 \(x\) 处,归一化幂等于 1,而 \(R=f(x)-P_n(x)\),所以 \(F(x)=f(x)-P_n(x)-R=0\)

习题2:两轮 Rolle

\(n=1\) 明确写出两次 Rolle 定理的零点链。

答案

此时 \(F(a)=F(x)=0\),第一次 Rolle 产生 \(c_1\) 使 \(F'(c_1)=0\)。 又因 \(F'(a)=0\),在 \(a,c_1\) 之间第二次使用 Rolle,产生 \(\xi\) 使 \(F''(\xi)=0\)。这正对应余项中的二阶导数。

习题3:余弦近似

\(1-x^2/2\) 近似 \(\cos0.1\),给出 Lagrange 误差上界。

答案

这是 \(n=2\) 的 Taylor 多项式。三阶导数为 \(\sin t\),在 \([0,0.1]\) 上可粗取 \(M=1\),所以

\[ |R_2(0.1)|\le\frac{0.1^3}{3!}\approx1.67\times10^{-4}. \]

取更紧的 \(M=0.1\) 可得更小上界。

习题4:区间不能省略

为什么只知道 \(|f^{(n+1)}(a)|\le M\) 不足以推出本页的误差界?

答案

余项公式中的导数取在未知点 \(\xi\),它严格位于 \(a,x\) 之间,通常不是 \(a\)。因此必须让 \(M\) 控制整个连接区间,才能保证 \(|f^{(n+1)}(\xi)|\le M\)

习题5:未知中间点

余项公式已经写出 \(\xi\),为什么通常仍不能直接计算真实误差?

答案

定理只保证某个 \(\xi\) 存在,并没有给出它的位置或唯一性。实际使用时通常用整个 区间上的导数上界消去对 \(\xi\) 的依赖,得到可靠但可能偏宽的误差上限。

常见误区与后续

  • 只写公式,不说明 \(M\) 控制的区间;
  • 把“某阶满足预算”误说成“该阶最低”;
  • 忘记余项使用 \(f^{(n+1)}\)\((n+1)!\)
  • 把未知中间点当作可以自由选择的点。

下一单元将改变辅助函数,把同一个余项写成 Cauchy 形式,并正式比较三种余项。