浅谈泰勒展开
XYstarabyss
·
·
算法·理论
前言
在某一场 NOIP 模拟赛中,T1 为 EGF 板子,但我忘了 /kk,复习 EGF 的时候突然想如何证明 \sum\limits_{i=0}^{\infin}\dfrac{x^i}{i!}=e^x?再加上 T2 泰勒展开+线段树做法更是直接创爆我,遂属此文以记之。
正文
证明:\sum\limits_{i=0}^{\infin}\dfrac{x^i}{i!}=e^x。
前置芝士:求导总会吧。
不会也没关系,下面给出四个要用到的东西。
$x^a$:其中 $a$ 为一个常数,$(x^a)'=ax^{a-1}$。
$C$:其中 $C$ 为一个常数,$C'=0$。
$(xy)'=x'y+y'x$,所以 $(Cx)'=Cx'$。
其中 $(x)'$ 即对 $x$ 求一次导得到的结果。
因为我们希望用一个多项式去拟合 $e^x$,所以我们直接设 $e^x=\sum\limits_{i=0}^{\infin}a_ix^i$,然后来解这些 $a_i$。
两边同时求一次导,所有的 $a_ix^i$ 变成 $ia_ix^{i-1}$,得
$$e^x=\sum_{i=0}^{\infin}(i+1)a_{i+1}x^i$$
所以
$$\sum_{i=0}^{\infin}a_ix^i=\sum_{i=0}^{\infin}(i+1)a_{i+1}x^i$$
即 $a_i=(i+1)a_{i+1}$。
在 $e^x=\sum\limits_{i=0}^{\infin}a_ix^i$ 中令 $x=0$,则有 $1=a_0$。
然后就知道了 $a_i=\dfrac{1}{i!}$。
这便是泰勒展开。是不是感觉肥肠简单?来不来再做个?
$\sin x$ 能用什么多项式拟合?已知 $(\sin x)'=\cos x,(\cos x)'=-\sin x$。
:::info[我是题解]
按照套路,我们直接设 $\sin x=\sum\limits_{i=0}^{\infin}a_ix^i$。
两边同时求一次导,得
$$\cos x=\sum_{i=0}^{\infin}(i+1)a_{i+1}x^i$$
再求一次导,得
$$-\sin x=\sum_{i=0}^{\infin}(i+1)(i+2)a_{i+2}x^i$$
即
$$\sin x=\sum_{i=0}^{\infin}-(i+1)(i+2)a_{i+2}x^i=\sum_{i=0}^{\infin}a_ix^i$$
所以 $-(i+1)(i+2)a_{i+2}=a_i$。
对于 $\sin x=\sum\limits_{i=0}^{\infin}a_ix^i$,令 $x=0$,则有 $0=a_0$,据此可知 $a_{2i}=0(i\in \Z_+)$。
对于 $\cos x=\sum\limits_{i=0}^{\infin}(i+1)a_{i+1}x^i$,令 $x=0$,则有 $1=a_1$,据此可知 $a_{2i+1}=\dfrac{(-1)^i}{(2i+1)!}(i\in \Z_+)$。
所以 $\sin x=\sum\limits_{i=0}^{\infin}\dfrac{(-1)^ix^{2i+1}}{(2i+1)!}$。
你很闲的话还可以泰勒展开一下 $\cos x$,但没必要,上式导一下即可得到 $\cos x=\sum\limits_{i=0}^{\infin}\dfrac{(-1)^ix^{2i}}{(2i)!}$。
于是我们又得到了两个三角函数的泰勒展开。
:::
上面几个函数还是太和蔼可亲了,处处足够平滑以至于处处无限阶可导,定义域是整块 $\R$,还是太好做了(((
来一个没那么和蔼可亲的函数推广一下我们的结论。
$\ln(1+x)$ 能用什么多项式拟合?已知 $(\ln x)'=x^{-1}$,一元函数求导的链式法则为 $(f\circ g)'(x)=f'(g(x))\cdot g'(x)$,$(x+y)'=x'+y'$。
:::warning[什么是 $(f\circ g)$?]
是 $f$ 与 $g$ 的复合函数,$(f\circ g)(x)$ 等价于 $f(g(x))$。
比如 $f(x)=x^{-1},g(x)=x+1$,那么 $(f\circ g)(x)=(x+1)^{-1}$,$(f\circ g)'(x)=((x+1)^{-1})'$。
:::
:::error[为什么不去拟合 $\ln(x)$?]
喜欢我的 $a_0=\ln(0)$ 吗?
:::
:::::info[我是题解]
按照套路,我们直接设 $\ln (1+x)=\sum\limits_{i=0}^{\infin}a_ix^i$。
但是先等会,别急着导(什
::::success[我们先看一下 $(\ln(1+x))'$ 是什么玩意。]
设 $f(x)=\ln x,g(x)=1+x$,则原式 $=(f\circ g)'(x)=f'(g(x))\cdot g'(x)=\dfrac{1}{1+x}$。
:::success[再看一下 $(\dfrac{1}{1+x})'$ 是什么玩意。]
设 $f(x)=x^{-1},g(x)=1+x$,则原式 $=(f\circ g)'(x)=f'(g(x))\cdot g'(x)=-\dfrac{1}{(1+x)^2}$。
以此类推,$(1+x)$ 在求导的时候可以就当 $x$ 整。
:::
::::
两边同时求一次导,得
$$\dfrac{1}{1+x}=\sum_{i=0}^{\infin}(i+1)a_{i+1}x^i$$
没什么头猪,再导一次
$$-\dfrac{1}{(1+x)^2}=\sum_{i=0}^{\infin}(i+1)(i+2)a_{i+2}x^i$$
再导!
$$\dfrac{2}{(1+x)^3}=\sum_{i=0}^{\infin}(i+1)(i+2)(i+3)a_{i+3}x^i$$
……
$$(-1)^{n-1}\dfrac{(n-1)!}{(1+x)^n}=\sum_{i=0}^{\infin}\dfrac{(i+n)!}{i!}a_{i+n}x^i$$
没招了,根本就没有循环节(
但是发现这玩意至少还是无限阶可导的,以上的式子一个式子解出一个系数,也够了!
对于 $\ln (1+x)=\sum\limits_{i=0}^{\infin}a_ix^i$,令 $x=0$,则有 $a_0=\ln(1)=0$。
对于 $\dfrac{1}{1+x}=\sum\limits_{i=0}^{\infin}(i+1)a_{i+1}x^i$,令 $x=0$,则有 $a_1=\dfrac{1}{1}=1$。
对于 $-\dfrac{1}{(1+x)^2}=\sum\limits_{i=0}^{\infin}(i+1)(i+2)a_{i+2}x^i$,令 $x=0$,则有 $2!a_2=-\dfrac{1}{1^2},a_2=-\dfrac{1}{2}$。
……
对于 $(-1)^{n-1}\dfrac{(n-1)!}{(1+x)^n}=\sum\limits_{i=0}^{\infin}\dfrac{(i+n)!}{i!}a_{i+n}x^i$,令 $x=0$,则有 $n!a_n=(-1)^{n-1}\dfrac{(n-1)!}{1^n},a_n=\dfrac{(-1)^{n-1}}{n}$。
看来我们以一种神奇的方式得到了所有项,所以 $\ln(1+x)=\sum\limits_{i=1}^{\infin}\dfrac{(-1)^{i-1}x^i}{i}$。
还可以顺便求一下 $\ln(1-x)$!
令 $y=-x$,则
$$\ln(1+y)=\sum_{i=1}^{\infin}\dfrac{(-1)^{i-1}y^i}{i}$$
$$\ln(1-x)=\sum_{i=1}^{\infin}\dfrac{(-1)^{i-1}(-x)^i}{i}$$
$$\ln(1-x)=\sum_{i=1}^{\infin}\dfrac{(-1)^{2i-1}x^i}{i}$$
$$\ln(1-x)=-\sum_{i=1}^{\infin}\dfrac{x^i}{i}$$
:::::
由 $\ln(1+x)$ 的推导得到启发,若 $f(x)$ 在 $x_0$ 处足够平滑(无限阶可导),则有
$$f(x)=f(x_0)+\dfrac{f'(x_0)}{1!}(x-x_0)+\dfrac{f''(x_0)}{2!}(x-x_0)^2+\dfrac{f^{(3)}(x_0)}{3!}(x-x_0)^3+\dots$$
$\ln(1+x)$ 就相当于把 $\ln x$ 左移一个单位长度使得 $x_0=0$ 处足够平滑(无限阶可导)。