贡献者: Giacomo; addis
未完成:文章:big O 记号
未完成:文章:连续可导
未完成:辨析:泰勒展开/级数/公式
定理 1 泰勒公式
设函数 $f(x)$ 在 $x_0$ 处有 $n(n\ge 1)$ 阶导数,则有
\begin{equation}
\begin{aligned}
f(x)=&f(x_0)+\frac{f'(x_0)}{1!}(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+\cdots\\
&+\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n+ \mathcal{O}\left((x-x_0)^n \right) ~,
\end{aligned}
\end{equation}
如果取 $x_0=0$,那么这个展开式被称为
麦克劳林级数(Maclaurin formula)。
定理 2 $n$ 阶近似公式的唯一性
设函数 $f(x)$ 在 $x_0$ 处有 $n$($n\ge 1$)阶导数,设 $f(x)$ 在 $x_0$ 的邻域内有以下 $n$ 阶近似公式成立:
\begin{equation}
\begin{aligned}
f(x)=a_0+a_1(x-x_0)+a_2(x-x_0)^2+\cdots+a_n(x-x_0)^n+ \mathcal{O}\left((x-x_0)^n \right) ~,
\end{aligned}
\end{equation}
那么系数 $a_i$($0\le i\le n$)
存在且
唯一确定:
\begin{equation}
a_i=\frac{f^{(i)}(x)}{i!}~,
\end{equation}
这表明了 $f(x)$ 的 $n$ 阶近似公式的唯一性。
利用这个结论,我们可以在计算泰勒展开公式时自信地代入近似公式,而不是循规蹈矩地一步步求导。以 $e^{\sin x}$ 为例,如果在 $x=0$ 附近求泰勒展开,我们可以先将指数 $\sin x$ 写成近似公式:
\begin{equation}
u=\sin x=x-\frac{x^3}{3!}+ \mathcal{O}\left(x^4 \right) ~.
\end{equation}
再将上式代入 $e^u=1+u+u^2/2+u^3/6+u^4/24+ \mathcal{O}\left(u^3 \right) $ 中,即可得到
\begin{equation}
\begin{aligned}
e^{\sin x}&=1+(x-\frac{x^3}{3!})+(x^2/2-x^4/6)+x^3/6+x^4/24+ \mathcal{O}\left(x^3 \right)
\\&=1+x+x^2/2-x^4/8+ \mathcal{O}\left(x^3 \right) ~.
\end{aligned}
\end{equation}
利用这个结论,我们可以轻松地写出 $ \sin\left(2x\right) , \cos\left(x^2\right) ,e^{3x^3}$ 或类似形式的函数的泰勒展开式。下面我们举一个复杂的例子:
习题 1
计算 $f(x)=x\cot x$($x\neq 0$),$f(0)=0$ 在 $x_0=0$ 附近的泰勒展开公式(展开到 $x^5$ 项)。
提示:我们已经知道 $\sin x=x-x^3/3!+x^5/5!+ \mathcal{O}\left(x^6 \right) $,$\cos x=1-x^2/2+x^4/4!-x^6/6! \mathcal{O}\left(x^6 \right) $。要求 $x\cot x=x\cos x/\sin x$($0$ 是该函数的可去间断点)的 $5$ 阶近似公式,可以利用待定系数法。设 $x\cot x=a_0+a_1 x+a_2 x^2+\cdots+ a_5 x^5 + \mathcal{O}\left(x^5 \right) $。根据 定理 2 ,系数 $a_0,a_1,\cdots$ 是唯一确定的,求得的这个近似公式就是 $x\cot x$ 的泰勒展开式。我们只需要求出这些系数。
由于 $x\cot x=x\cos x/\sin x=a_0+a_1 x+\cdots a_5 x^5+ \mathcal{O}\left(x^5 \right) $,所以
\begin{equation}
\begin{aligned}
x\cos x&=(a_0+a_1 x+\cdots a_5 x^5+ \mathcal{O}\left(x^5 \right) )\sin x~,\\
x(1-x^2/2+x^4/4!-x^6/6!+ \mathcal{O}\left(x^6 \right) )&=(a_0+a_1 x+\cdots a_5 x^5+ \mathcal{O}\left(x^5 \right) )\\
&\times (x-x^3/3!+x^5/5!+ \mathcal{O}\left(x^6 \right) )~.
\end{aligned}
\end{equation}
接下来化简上述方程,逐项比较解得 $a_0,\cdots,a_5$ 即可。待定系数法可以帮助我们大大减小求导的运算量。
1
利用柯西微分中值定理,可以推出带拉格朗日余项(Lagrange form of the remainder)的泰勒展开公式,从而给出了泰勒展开近似式误差项的一个定量描述:
定理 3 带拉格朗日余项的泰勒公式
设函数 $f(x)\in C^n[a,b]$2 在 $(a,b)$ 内存在 $n+1$ 阶导数,则对任意 $x,x_0\in [a,b]$,总是存在 $\xi\in (x,x_0)$,使得下式成立
\begin{equation}
\begin{aligned}
f(x)=&f(x_0)+\frac{f'(x_0)}{1!}(x-x_0)+\frac{f'(x_0)}{2!}(x-x_0)^2+\cdots\\
&+\frac{f^{(n)}(x)}{n!}(x-x_0)^n+\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{(n+1)}~,
\end{aligned}
\end{equation}
其中 $\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1}$ 被称为
拉格朗日余项。有时也将 $\xi$ 用 $x_0+\theta(x-x_0)$ 来表示。
未完成:证明
由于拉格朗日余项有分母 $(n+1)!$,随着 $n$ 的增加快速增大,所以通常情况下,用泰勒公式逼近时误差随 $n$ 的增加而减小(我们需要考察 $f^{(n+1)}(\xi)$ 的大小来判断误差的收敛速度)。以 $e^x$ 的泰勒展开式为例:
\begin{equation}
e^x=1+x+\frac{x^2}{2}+\cdots+\frac{x^n}{n!}+\frac{e^{\theta x}}{(n+1)!}x^{n+1}~.
\end{equation}
从上式我们可以看出,$e^x$ 的泰勒展开式的拉格朗日余项的绝对值不会超过 $\frac{\max\{1,e^x\}}{(n+1)!}$。这说明随着 $n$ 的增大,泰勒公式的前 $n$ 项和逐渐逼近 $e^x$。这个结论用皮亚诺余项
定理 1 是无法得到的
3。
需要记忆的泰勒展开公式有:
\begin{equation}
\begin{aligned}
&e^x=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots+\frac{x^n}{n!}+ \mathcal{O}\left(x^n \right) ~,\\
&\frac{1}{1+x}=1-x+x^2-x^3+\cdots+(-1)^nx^n+ \mathcal{O}\left(x^n \right) ~,\\
&\sin x=x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\cdots+(-1)^n\frac{x^{2n+1}}{(2n+1)!}+ \mathcal{O}\left(x^{2n+1} \right) ~,\\
&\cos x=1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+\cdots+(-1)^n\frac{x^{2n}}{(2n)!}+ \mathcal{O}\left(x^{2n} \right) ~,\\
& \ln\left(1+x\right) =x-\frac{x^2}{2}+\frac{x^3}{3}-\frac{x^4}{4}+\cdots+(-1)^{n+1}\frac{x^n}{n}+ \mathcal{O}\left(x^n \right) ~.\\
\end{aligned}
\end{equation}
现在,如果我们将 $e^{ix}$ 用第一个公式展开,可以得到
\begin{equation}
\begin{aligned}
e^{ix}=1+ix-\frac{x^2}{2!}-i\frac{x^3}{3!}+\frac{x^4}{4!}+i\frac{x^5}{5!}-\frac{x^6}{6!}-i\frac{x^7}{7!}+\cdots\\
=(1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+\cdots)+i(x-\frac{x^3}{3!}+\frac{x^5}{5!}-\frac{x^7}{7!}+\cdots)~.
\end{aligned}
\end{equation}
再由欧拉公式 $e^{ix}=\cos x+i\sin x$,比较实部和虚部,恰好可以得出 $\cos x,\sin x$ 的展开式,与
式 9 完全相同。注意这里的推导还没有被严格化,将 $e^{ix}$ 已经超出实函数的范围,相关的定义和定理需要进行考量
4。
对 $ \ln\left(1+x\right) $ 泰勒展开也有一个不严谨的小技巧。注意到它的导函数为 $\frac{1}{1+x}$,可以尝试对 $\frac{1}{1+x}$ 的泰勒展开式进行积分。
\begin{equation}
\begin{aligned}
\frac{1}{1+x}&=\sum_{i=0}^{\infty} (-1)^i x^i~,\\
\ln\left(1+x\right) &=\int_0^x \frac{1}{1+t} \,\mathrm{d}{t} = \int_0^x \sum_{i=0}^{\infty} (-1)^i x^i \,\mathrm{d}{t} \\
&= \sum_{i=0}^{\infty} \int_0^x(-1)^i x^i \,\mathrm{d}{t} = \sum_{i=0}^{\infty} \frac{(-1)^i x^{i+1}}{i+1}\\
&= \sum_{i=1}^{\infty} \frac{(-1)^{i+1} x^{i}}{i}~.
\end{aligned}
\end{equation}
这种推导方法可以帮助你记忆公式。如果想让这个证明严谨化,就需要利用级数相关定理,要注意级数的收敛域,还需要判断上式中 $\int_0^{\infty}$ 和 $\sum_{i=0}^{\infty}$(这实际上是序列极限 $\lim\limits_{n\rightarrow \infty} \sum_{i=0}^{n}$ 的一种简写)在什么情况下可交换。
下面我们用这种方法再算一个例子。
习题 2
计算 $\frac{x}{\sqrt{1+x^2}}$ 在 $x_0=0$ 处的泰勒展开,展开到 $x^7$ 项。
提示:$\frac{x}{\sqrt{1+x^2}}$ 可以写作 $\sqrt{1+x^2}$ 的导函数。那么只需要对 $\sqrt{1+x^2}$ 的泰勒展开式逐项求导即可。注意到 $\sqrt{1+x}=1+\frac{x}{2}-\frac{x^2}{8}+\frac{x^3}{16}-\frac{5x^4}{128}+ \mathcal{O}\left(x^4 \right) $,于是有
\begin{equation}
\begin{aligned}
\sqrt{1+x^2}=1+\frac{x^2}{2}-\frac{x^4}{8}+\frac{x^6}{16}-\frac{5x^8}{128}+ \mathcal{O}\left(x^8 \right) ~,\\
\frac{x}{\sqrt{1+x^2}}=x-\frac{x^3}{2}+\frac{3x^5}{8}-\frac{5x^7}{16}+ \mathcal{O}\left(x^7 \right) ~.
\end{aligned}
\end{equation}
上面我们用到了 $\sqrt{1+x}$ 的泰勒展开公式,它可以通过暴力求导计算得到:
\begin{equation}
\begin{aligned}
\sqrt{1+x}&=1+\sum_{i=1}^n\frac{(-1)^{i+1} \cdot \frac{1}{2}\cdot \frac{3}{2}\cdots (i-\frac{3}{2})}{2i!}x^i + \mathcal{O}\left(x^n \right) \\
&=1+\sum_{i=1}^n\frac{\Gamma(3/2)}{\Gamma(i+1)\Gamma(-i+3/2)}x^i + \mathcal{O}\left(x^n \right) ~,
\end{aligned}
\end{equation}
上式中 $\Gamma$ 为广义阶乘函数,当 $n$ 为整数时 $\Gamma(n+1)=n!$。更具有启发意义地,我们可以将上面的结果写成以下形式
\begin{equation}
(1+x)^{1/2}=\sum_{i=0}^{\infty}{1/2\choose i}x^i~,
\end{equation}
其中 ${1/2\choose i}$ 为广义组合数。这个公式可以推广为以下结果:
\begin{equation}
(1+x)^{a}=\sum_{i=0}^{\infty}{a\choose i}x^i=\sum_{i=0}^{\infty}\frac{\Gamma(a+1)}{\Gamma(i+1)\Gamma(-i+a+1)}x^i~.
\end{equation}
1. 推导
如果假设函数 $f$ 在开区间 $(x_0-r,x_0+r)$ 上直到 $N+1$ 次可微,那么可以利用分部积分公式:
\begin{equation}
\begin{aligned}
f(x)
&=f(x_0)+\int_{x_0}^{x}f'(t) \,\mathrm{d}{t} \\
&=f(x_0)-\int_{x_0}^{x}f'(t) \frac{\mathrm{d}}{\mathrm{d}{t}} (x-t) \,\mathrm{d}{t} \\
&=f(x_0)+f'(x_0)(x-x_0)+\int_{x_0}^{x}f''(t)(x-t) \,\mathrm{d}{t} ~.
\end{aligned}
\end{equation}
由于 $(x-t)=- \frac{\mathrm{d}}{\mathrm{d}{t}} (x-t)^2/2!$, 故可以再次分部积分,得到
\begin{equation}
\begin{aligned}
f(x)
=f(x_0)+f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2
+\frac{1}{2!}\int_{x_0}^{x}f^{(3)}(t)(x-t)^2dt~.
\end{aligned}
\end{equation}
如此续行,即得到
\begin{equation}
\begin{aligned}
f(x)
&=f(x_0)+f'(x_0)(x-x_0)+\frac{f''(x_0)}{2!}(x-x_0)^2+...+\frac{f^{(N)}(x_0)}{N!}(x-x_0)^N\\
&\quad+\frac{1}{N!}\int_{x_0}^{x}f^{(N+1)}(t)(x-t)^{N} \,\mathrm{d}{t} ~.
\end{aligned}
\end{equation}
最后的误差可利用定积分估值估计为
\begin{equation}
\left|\frac{1}{N!}\int_{x_0}^{x}f^{(N+1)}(t)(x-t)^{N} \,\mathrm{d}{t} \right|
\leq\frac{\sup_{t\in I}|f^{(N+1)}(t)|}{N!}|x-x_0|^{N+1}~.
\end{equation}
显然,这就给出了唯一一个满足开头要求的多项式近似。
1. ^ $\cot x$ 的洛朗展开式的各项系数可以用伯努利数表示。
2. ^ $f\in C^n[a,b]$ 表示函数 $f(x)$ 在闭区间 $[a,b]$ 上有 $n$ 阶连续导数。
3. ^ 皮亚诺余项 $ \mathcal{O}\left((x-x_0)^n \right) $ 意味着当 $x$ 趋向于 $x_0$ 时泰勒公式将是很好的近似,但当 $x$ 远离 $x_0$ 时,就难以判断了。
4. ^ 在数学物理方法或复变函数课中你将会系统地学习这些内容。