如何从头开始证明欧拉恒等式?

· · 算法·理论

前情提要:聪明的你在中午和同学讨论数学时,不知为何突然讲到了欧拉恒等式,你们尝试证明这个式子,你作为 AK IOI 的神犇,自然首先想到了证法。

首先给出欧拉恒等式:

e^{i\pi}+1=0

欧拉公式

聪明的你率先想到了用欧拉公式,先上公式:

e^{i\theta}=\cos \ \theta +i \ \sin \ \theta

这个公式简直太牛了,直接套用到原来的恒等式你就可以直接得到 e^{i\pi}=\cos\ \pi +i \ \sin \ \pi=-1完结撒花。

直接用这个公式那怎么行,你需要的可是如何 从头开始 证明欧拉恒等式。那么如何证明这个公式呢?你想到需要用泰勒展开。

探究 f(x)=a^{x} 的奇妙小性质

你忽然想到,存不存在一个指数函数 f(x)=a^x,使得 f(x)'=f(x)。你希望通过推一推这个事情,从而得到一些奇妙的性质来辅助证明。

聪明的你考虑设 f(x)=a^xf'(x)=f(x),那么对 f(x) 进行求导,显然,我们可以得到如下式子:

f'(x)=\lim_{\Delta x \to 0}\frac{a^{x+\Delta x}-a^x}{\Delta x}

你注意到上式中分式的分子里两项都有 a^x 这一因子,可以提出来,得到:

f'(x)=a^x \times \lim_{\Delta x \to 0}\frac{a^{\Delta x}-1}{\Delta x}

于是你换元,设 u=a^{\Delta x}-1,那么 \because \Delta x \to 0\therefore u \to 0

u+1=a^{\Delta x}\therefore \Delta x=\log_a(u+1)

代入,得

\begin{align*} f'(x)&=a^x \times \lim_{u\to 0}\frac{u}{\log_a(u+1)}\\ &=a^x \times \lim_{u\to 0}\frac{1}{\frac{1}{u}\times \log_a(u+1)}\\ &=a^x \times \lim_{u\to 0}\frac{1}{\log_a(u+1)^{\frac{1}{u}}}\\ &=a^x \times \frac{1}{\log_a[\lim_{u \to 0}(u+1)^{\frac{1}{u}}]} \end{align*}

由于 (a^x)'=a^x,所以

\frac{1}{\log_a[\lim_{u \to 0}(u+1)^{\frac{1}{u}}]}=1 \Longrightarrow \lim_{u\to 0}(u+1)^{\frac{1}{u}}=a

t=\frac{1}{u}\because u\to 0\therefore t \to \infty,得:

a=\lim_{t\to \infty}(1+\frac{1}{t})^t

你把你推出来的这个 a 称为自然常数 e,综上,通过探究,你得到了 (e^x)'=e^x 这个重要的性质。

泰勒展开

泰勒展开是什么?可以近似地理解为,在某个点附近,用一个多项式来近似一个光滑函数,并要求该多项式在该点处的函数值及各阶导数值与原函数完全相等。

::::info[举例]{close} 就拿刚刚的 f(x)=e^x 举例,若我们先不对函数求导,直接用 f_1(x)=1 逼近,我们得到下面的图(绿色是 f(x),黑色是 f_1(x)):

肉眼可见误差非常大。考虑为什么误差这么大。

那很明显原函数是带有增减的,f_1(x) 的导函数直接等于 0 了说是。所以对于原函数的 1 阶导函数 f'(x)=e^x,我们考虑将 0 代入,得到该点的导数为 1。事实上,对于函数 f(x)=e^x 来说,在 x=0 处,它的各阶导数都为 1

那么按照泰勒展开,我们要增添一项,使得这个多项式的一阶导与原函数的一阶导相等,考虑函数 f_2(x)=1+x。绘制出的函数图像如下:

同理,我们可以求出 f_3(x)=1+x+\frac{x^2}{2!}。为什么系数是二的阶乘呢?如果设多项式中一项为 a\times x^n,那么我们知道,这直接决定了多项式函数的 n 阶导的大小。注意到化到 n 阶导时,这一项变为常数 a\times n!。此时指数小于 n 的被当作常数化为 0,指数大于 n 的被 x=0 代入代为 0。在 f(x)=e^x 的情况下,我们要求这个系数等于 1,则必有 a=\frac{1}{n!}。系数就是这么来的。

那么,我们画出三阶导相同时的函数图像:

四阶导:

以此类推,直到得到这样下文提到的展开式。 ::::

你对函数 f(x)=e^{ix} 进行泰勒展开,得到:

\begin{align*} e^{ix}&=1+ix+\frac{(ix)^2}{2!}+\frac{(ix)^3}{3!}+...\\ &=1+ix-\frac{x^2}{2!}-\frac{x^3}{3!}+...\\ \end{align*}

你直接将 x=\pi 代入,并将这个函数的实部与虚部分开,得到:

\begin{align*} 原式&=(1-\frac{\pi^2}{2!}+\frac{\pi^4}{4!}-...)+i\times (\pi-\frac{\pi^3}{3!}+\frac{\pi^5}{5!}-...)\\ &=(\sum_{k=0}^{\infty}(-1)^k\frac{\pi^{2k}}{(2k)!})+i\times (\sum_{k=0}^{\infty}(-1)^k\frac{\pi^{2k+1}}{(2k+1)!}) \end{align*}

哦为什么要写成下面那个式子的形式?因为你觉得这样好看。

聪明的你注意到,前面的实部正是 \cos \ x 的泰勒展开式,后面那个虚部正是 i\times \sin \ x 的泰勒展开式,于是你愉快地将他们替换,得到了我们一直在试图找到的:

e^{i\theta}=\cos \ \theta +i \ \sin \ \theta

结合章节 1 的内容,就这样,你证明了欧拉恒等式。

而至于为什么前面那个实部是 \cos \ x 的泰勒展开式,后面那个虚部是 i\times \sin \ x 的泰勒展开式,就留给读者自证。

你真的证明了吗?

为什么你没有真的证明?

同学们被你天才的想法折服,结束了讨论。晚上,你到家,回忆起你的证明过程,你发现有一些小瑕疵。

你触及了一个深刻且复杂的问题,你给出的 f(x)=e^{ix} 的泰勒展开式,按照加法交换律重新排列各项结果可能不同。

这是什么意思?你进行了深入的思考。

让我们来举个例子,考虑 \sum_{i=1}^{\infty}\frac{(-1)^{i-1}}{i}=\ln 2

::::info[如何证明 \sum_{i=1}^{\infty}\frac{(-1)^{i-1}}{i}=\ln 2]{open}

DS 老师说,用积分证明可能更简洁,但我并没有看懂。所以不写。

**第一步:建立不等式** 由数列单调性可得: $$ \left(1+\frac{1}{n}\right)^n < e < \left(1+\frac{1}{n}\right)^{n+1} $$ 两边取自然对数: $$ n \ln\!\left(1+\frac{1}{n}\right) < 1 < (n+1)\ln\!\left(1+\frac{1}{n}\right) $$ 整理得: $$ \frac{1}{n+1} < \ln\!\left(1+\frac{1}{n}\right) < \frac{1}{n} $$ **第二步:证明 $a_n = \sum_{k=1}^n \frac{1}{k} - \ln n$ 收敛** 由右不等式 $\frac{1}{k} > \ln\!\left(1+\frac{1}{k}\right)$ 求和得: $$ \sum_{k=1}^n \frac{1}{k} > \sum_{k=1}^n \ln\!\left(1+\frac{1}{k}\right) = \ln(n+1) $$ 于是 $$ a_n = \sum_{k=1}^n \frac{1}{k} - \ln n > \ln(n+1) - \ln n = \ln\!\left(1+\frac{1}{n}\right) > 0 $$ 序列有下界。 考虑差: $$ \begin{aligned} a_n - a_{n+1} &= \Biggl( \sum_{k=1}^n \frac{1}{k} - \ln n \Biggr) - \Biggl( \sum_{k=1}^{n+1} \frac{1}{k} - \ln(n+1) \Biggr) \\ &= \ln\!\left(1+\frac{1}{n}\right) - \frac{1}{n+1} \end{aligned} $$ 由左不等式知此差为正,序列递减。单调有界故收敛,记极限为 $\gamma$。 **第三步:处理交错调和级数** 设 $\displaystyle S_N = \sum_{i=1}^N \frac{(-1)^{i-1}}{i}$,偶数个项的部分和为: $$ \begin{aligned} S_{2n} &= 1 - \frac{1}{2} + \frac{1}{3} - \frac{1}{4} + \cdots + \frac{1}{2n-1} - \frac{1}{2n} \\ &= \Bigl(1 + \frac{1}{2} + \cdots + \frac{1}{2n}\Bigr) - 2\Bigl(\frac{1}{2} + \frac{1}{4} + \cdots + \frac{1}{2n}\Bigr) \\ &= \sum_{k=1}^{2n} \frac{1}{k} - \sum_{k=1}^n \frac{1}{k} = H_{2n} - H_n \end{aligned} $$ 其中 $H_m = \sum_{k=1}^m \frac{1}{k}$。 由于我们定义的 $a_n=\sum_{k=1}^{n}\frac{1}{k}-\ln n$,再结合我们对 $H_n$ 的定义,经过移项得到 $H_n=a_n+\ln n$。 代入 $H_m = a_m + \ln m$: $$ S_{2n} = (a_{2n} + \ln(2n)) - (a_n + \ln n) = a_{2n} - a_n + \ln 2 $$ **第四步:取极限** 由 $\lim_{n\to\infty} a_n = \gamma$ 得 $\lim_{n\to\infty} (a_{2n} - a_n) = 0$,故: $$ \lim_{n\to\infty} S_{2n} = \ln 2 $$ 交错调和级数 $$ \sum_{i=1}^{\infty}\frac{(-1)^{i-1}}{i} $$ 满足莱布尼茨判别法的两个条件: 1. 通项绝对值 $\frac{1}{i}$ 单调递减; 2. $\lim_{i\to\infty} \frac{1}{i} = 0$。 因此原级数收敛,记其和为 $S$,即 $$ S=\lim_{n\to \infty}S_n=\lim_{n\to \infty}\sum_{i=1}^{n}\frac{(-1)^{i-1}}{i} $$ 前面我们证明了偶数项子列的极限为 $\ln 2$,再看奇数项子列: $$ S_{2n+1}=S_{2n}+\frac{1}{2n+1} $$ 两边取极限: $$ \lim_{n\to \infty}S_{2n+1}=\lim_{n\to \infty}S_{2n}+\lim_{n\to \infty}\frac{1}{2n+1}=\ln2+0=\ln2 $$ 一个收敛数列如果它的奇、偶子列都收敛到同一个值 $L$,那么原数列必然收敛到 $L$。因此, $$ \sum_{i=1}^{\infty}\frac{(-1)^{i-1}}{i}=\ln 2 $$ :::: - 考虑所有大于 0 的项:$1+\frac{1}{3}+\frac{1}{5}+...=+\infty$。 - 考虑所有小于 0 的项:$-\frac{1}{2}-\frac{1}{4}+...=-\infty$。 这个等式成立完全依赖于“一正一负”的特定抵消顺序。 那么重新排列顺序如何影响和? - 想让和变大:那么可以把负项全都往后排,用正项把和先堆高。 - 想让和变小:同理。 你发现了惊人的结论:通过精心设计重排顺序,可以让条件收敛的实数级数收敛到任意预先指定的实数,甚至发散到正无穷或负无穷。 于是你把重新排列顺序后和可能被影响的无穷级数称为**条件收敛**的无穷级数,不被影响的称为**绝对收敛**的无穷级数。 你并没有证明 $f(x)=e^{ix}$ 的泰勒级数是**绝对收敛**的,所以你的证明还并没有结束。 ::::info[辨析条件收敛和绝对收敛]{close} 话不多说,直接从定义上看。 **绝对收敛**: 对于无穷级数 $\sum_{n=1}^{\infty}a_n$,若其满足 $\sum_{n=1}^{\infty}|a_n|$ 收敛,则这个无穷级数是**绝对收敛**的。 **条件收敛**: 对于无穷级数 $\sum_{n=1}^{\infty}a_n$,若其满足如下两个命题,则这个无穷级数是**条件收敛**的: 命题 1:$\sum_{n=1}^{\infty}a_n$ 收敛; 命题 2:$\sum_{n=1}^{\infty}|a_n|$ 发散。 从定义式上看,显然满足**绝对收敛**的无穷级数一定不是**条件收敛**的。 :::: ### 如何真的证明? 你首先写出了函数 $f(x)=e^{ix}$ 的泰勒级数(或说麦克劳林级数?): $$ e^{ix}=\sum_{n=0}^{\infty}\frac{(ix)^{n}}{n!} $$ 然后你对任意的对于任意固定的实数 $x$,考察该级数各项的绝对值: $$ \left | \frac{(ix)^n}{n!}\right | =\frac{|i|^n\times |x|^n}{n!}=\frac{1\times |x|^n}{n!}=\frac{|x|^n}{n!} $$ 然后,你直接想到了一个证明方法来证明这个无穷级数是**绝对收敛**的。 考虑后项与前项的比值极限: $$ \lim_{n\to \infty}\left | \frac{a_{n+1}}{a_n} \right |=\lim_{n\to \infty}\frac{\frac{|x|^{n+1}}{(n+1)!}}{\frac{|x|^n}{n!}}=\lim_{n\to \infty}\frac{|x|}{n+1} $$ 对于任意固定的 $x$,无论它多大,当 $n\to \infty$ 时,$\frac{|x|}{n+1}\to 0$。 因为极限 $0<1$,由比值判别法可知,级数 $\sum_{n=0}^{\infty}\frac{|x|^n}{n!}$ 收敛。 这满足**绝对收敛**的定义,所以函数 $f(x)=e^{ix}$ 的泰勒级数是**绝对收敛**的,你真的证明了欧拉恒等式。 (严格来说,你还需要验证泰勒公式的余项是否趋于零,以保证这个收敛的级数确实等于原函数。好在对于 $e^x$ 及其衍生出的三角函数,这一条件都是成立的,此处不再展开。) ## 特别鸣谢 排名不分前后。 @Ryc12345678910 @Nailoong_SHM @Diyin_Teto @small_add_add 感谢 @zhangqh 指出文章的谬误。 ## 友情链接 [蒟蒻也要学泰勒展开](https://www.luogu.me/article/8s8t4h8f)