数学笔记(二)

by path2math on 3月 14, 2007

e是什么

[tex]e=1+1+1/2!+1/3!+1/4!+\cdots[/tex]
你得承认这个式子很美好。我赞成把这做为e的定义。不仅因为这形式上的美观,还因为这是个收敛很快的级数。如果一个数不是有理数,也不能表示成某个整式的根,那级数几乎是最好的选择。到头来我们最习惯的还是加加减减。而且它还收敛很快。对于这样一个超越数来说,我们能多有效地用有理数去逼近它,简直就是衡量我们对其理解程度的标尺。真的,到现在我还不明白[tex]\pi[/tex]到底是什么,就是因为它没有这样一个美好的式子。

e的无理性

令[tex]S_n=1+1+1/2!+\cdots+1/n![/tex]。[tex]S_n[/tex]可以写成一个分母n!的有理数。它和e的误差是
[tex]\epsilon_n=e-S_n=\frac{1}{(n+1)!}+\frac{1}{(n+2)!}+\cdots[/tex]
[tex]=\frac{1}{n!}(\frac{1}{n+1}+\frac{1}{(n+1)(n+2)}+\cdots)[/tex]
[tex]<\frac{1}{n!}(\frac{1}{n+1}+\frac{1}{(n+1)^2}+\cdots)=\frac{1}{n!\cdot n}[/tex] 我们就要看到,这误差(相对于[tex]S_n[/tex]的分母来说)是如此之小以至于e不可能是有理数。 事实上,假设有整数p、q使得e是方程qx-p=0的解。把e的近似[tex]S_n[/tex]代入这个方程,易知[tex]qS_n-p=-q\epsilon_n[/tex]。这个等式的左边乘上[tex]S_n[/tex]的分母n!后变成一个整数(我们总可以让这个整数不为0,因为方程qx-p=0只有一个根,而我们有无数个不同的[tex]S_n[/tex]),而右边,[tex]\epsilon_n[/tex]即使再乘上q乘上n!后,仍然是趋于0的。于是矛盾产生了。 从这个论证可以看出,对于一个数x来说,如果我们可以找到无数个“很接近”x的有理数,那x就一定是无理数。事实上反之也是成立的。利用连分数我们可以证明,对于任意无理数x,总存在无数个有理数p/q,使得[tex]|x-p/q|<1/q^2[/tex]。从直观上来说,无理数既然是数轴上填在有理数“之间”的东西,那它和“周围”的有理数之间的距离当然要比有理数与周围其他有理数之间的距离来的小。 刘维尔数

上面关于无理性的讨论可以直接推广到超越性上。对于一个数x,如果存在无数个有理数p/q,使得[tex]|x-p/q|<1/q^k[/tex],那么x就不是k-1次以下整系数方程的根。事实上,假设有整数[tex]c_0,c_1,\ldots,c_{k-1}[/tex]使得 [tex]c_{k-1}x^{k-1}+\cdots+c_1x+c_0=0[/tex]。 令[tex]|x-p/q|=\epsilon[/tex],那么[tex]|x^m-p^m/q^m|[/tex]大致上等于[tex]m\epsilon[/tex]。所以如果把p/q代入上面的方程,右边的误差大致是[tex]\epsilon[/tex]乘上一个常数。这样的话在两边乘上[tex]q^{k-1}[/tex],则左边变成一个整数(我们有无数个p/q可以使这个整数不为0,因为方程只有有限个根),而右边依然是趋于0的,于是得出矛盾。 因此,刘维尔数[tex]L=\sum_{i=1}^{\infty}10^{-i!}[/tex]是超越的:我们可以用[tex]\sum_{i=1}^{n}10^{-i!}[/tex]来近似,这样分母是[tex]10^{-n!}[/tex],而误差小于[tex]2/10^{-(n+1)!}<1/(10^{-n!})^n[/tex]。于是对于任意的k,n>k的那些[tex]\sum_{i=1}^{n}10^{-i!}[/tex]都足够地接近L从而L不可能是k次以下整系数方程的根。

e的超越性

但是上面讨论的条件:对于任意的k,都能找到无数个有理数p/q使得[tex]|x-p/q|<1/q^k[/tex],这对逼近的要求实在是高得过分了,通常是不可以期待的。作为一个改良的方案,我们可以不单单逼近x,而是在同一个分母下同时逼近[tex]x,x^2,\ldots,x^k[/tex]。这样可以大大缓和对误差的要求,而且在e的情况下,非常幸运地我们还有现成的公式可以用: [tex]e^s=1+s+s^2/2!+s^3/3!+s^4/4!+\cdots[/tex] 很自然地我们可以用[tex]S_n(s)=1+s+s^2/2!+\cdots+s^n/n![/tex]来近似[tex]e^s[/tex],但是想要证明e的超越性,这近似的精度仍然是不够的。或者说,这分母n!还是太大了。所以我们需要用点技巧。这技巧叫做“加成”。 对于分数a/b和c/d,我们把(a+c)/(b+d)叫做它们的加成。这事实上是a/b和c/d的、分别以b和d为权的加权平均。在使用有理数逼近的时候加成是经常用到的技巧,比如说我们要逼近x,而a/b比x大,c/d比x小,这时它们的加成(a+c)/(b+d)当然更接近x(这里假设a,b,c,d,x都是正的),而分母变大得不是太多(如果我们计算a/b和c/d的算术平均,这通分一下分母就很可观了),还可以有约掉一两个因数的期待。 设[tex]S_n(s)=a_n(s)/n![/tex],我们考虑[tex]S_0(s),S_1(s),\ldots,S_n(s)[/tex]的很一般的加成:设有整数[tex]d_0,d_1,\ldots,d_n[/tex],我们把[tex]\frac{d_0a_0(s)+d_1a_1(s)+\cdots+d_na_n(s)}{0!d_0+1!d_1+\cdots+n!d_n}[/tex]作为[tex]e^s[/tex]的近似。 这个近似分数还有另一个很奇妙的表示。请注意[tex]S_n(s)[/tex]的分子[tex]a_n(s)=n!+n(n-1)\cdots 2s+\cdots+ns^{n-1}+s^{n}[/tex],这实际上是把函数[tex]s^n[/tex]的所有(高阶)导函数全部加起来。由求导的可加性,我们的加成后的分子实际上是把多项式[tex]f_n(s)=d_ns^n+\cdots+d_1s+d_0[/tex]的所有导函数加起来。把这样得到的多项式记为[tex]F_n(s)[/tex],即[tex]F_n(s)=f_n(s)+f_n'(s)+f_n''(s)+\cdots+f_n^{(n)}(s)[/tex]。而我们的分母,正好等于[tex]F_n(0)[/tex]。于是我们用来近似[tex]e,e^2,\ldots,e^k[/tex]的,分别是分数[tex]F_n(1)/F_n(0),F_n(2)/F_n(0),\ldots,F_n(k)/F_n(0)[/tex]。 现在问题有两个:第一是计算这些近似分数的误差;第二是找到一个适当的[tex]f_n(s)[/tex],让[tex]F_n(1)/F_n(0),F_n(2)/F_n(0),\ldots,F_n(k)/F_n(0)[/tex]的分子分母都能约掉一个尽可能大的公因数,以使近似分数(相对于其分母来说)达到一个足够的精度。 关于第一个问题,我们有很多分析的方法可以拿来用。比如我们可以把[tex]F_n(s)/F_n(0)[/tex]除以[tex]e^s[/tex],然后用拉格朗日的中值定理来算它和1的差: [tex]1-e^{-s}F_n(s)/F_n(0)[/tex] [tex]=e^0F_n(0)/F_n(0)-e^{-s}F_n(s)/F_n(0)[/tex] [tex]=-s(e^{-\xi}F_n(\xi))'/F_n(0)[/tex] [tex]=se^{-\xi}f_n(\xi)/F_n(0)}[/tex] 其中[tex]\xi[/tex]在0和s之间。 所以 [tex]\epsilon_n(s)=e^{s}-F_n(s)/F_n(0)[/tex] [tex]=se^{s-\xi}f_n(\xi)/F_n(0)}e的连分数展式

如果你想用计算机算e的小数表示,用那美丽的级数大概就可以了。但是如果你想手算个10位15位的,倒是可以考虑一下使用这个式子:
[tex]\frac{e-1}{2}=\frac{1}{1+\frac{1}{6+\frac{1}{10+\frac{1}{14+\frac{1}{18+\ldots}}}}}[/tex]
这式子也很美观,收敛也很快(比级数要快),只不过不那么好用,大概也就只能用来做做计算之类的吧。

我们通常把连分数[tex]x=a_1+\frac{1}{a_2+\frac{1}{a_3+\frac{1}{a_4+\ldots}}}[/tex]简略地记为[tex]x=a_1+\frac{1}{a_2+}\frac{1}{a_3+}\frac{1}{a_4+\ldots}[/tex],把[tex]a_1,a_1+\frac{1}{a_2},a_1+\frac{1}{a_2+}\frac{1}{a_3},\ldots[/tex]写成既约分数[tex]\frac{p_1}{q_1},\frac{p_2}{q_2},\frac{p_3}{q_3},\ldots[/tex],称为x的渐近分数。令[tex]p_{-1}=0,p_0=1,q_{-1}=1,q_{0}=0[/tex],可以用归纳法证明,[tex]p_{i}=a_{i}p_{i-1}+p_{i-2}[/tex],[tex]q_{i}=a_{i}q_{i-1}+q_{i-2}[/tex],[tex]q_{i-1}p_{i}-p_{i-1}q_{i}=(-1)^i[/tex]。因此渐进分数的计算也是一种加成。

连分数的本质是展转相除法。把x和1做展转相除,求得的商依次记为[tex]a_1,a_2,a_3,\ldots[/tex],那么[tex]x=a_1+\frac{1}{a_2+}\frac{1}{a_3+\ldots}[/tex]。如果x是有理数,展转相除一定会结束,而如果是无理数则会不断地持续下去。渐进分数[tex]p_i/q_i[/tex]给出了x的一个很好的逼近,可以证明[tex]|x-\frac{p_i}{q_i}|<\frac{1}{a_iq_i^2}[/tex]。所以说[tex]a_1,a_2,a_3,\ldots[/tex]变大得越快,近似的程度越好,因此上面给出的那个连分数展式,确实是一个快速逼近。 下面我们来证明这个式子。没什么花巧的,解出差分方程[tex]p_{i}=a_{i}p_{i-1}+p_{i-2}[/tex]和[tex]q_{i}=a_{i}q_{i-1}+q_{i-2}[/tex],然后计算极限[tex]\lim_{i\rightarrow\infty}\frac{p_i}{q_i}[/tex]。 当然这个差分方程并没有什么一击必杀的简单的解;只不过我们可以把任意的[tex]p_{n}[/tex]化成[tex]s_{n}p_2+t_{n}p_1[/tex]的形式,然后把[tex]s_{n}[/tex]和[tex]t_{n}[/tex]的样子梳理地清楚一点。请看下面的图: [tex]p_n\stackrel{a_n}{\rightarrow}p_{n-1}\stackrel{a_{n-1}}{\rightarrow}\cdots\stackrel{a_5}{\rightarrow}p_4\stackrel{a_4}{\rightarrow}p_3\stackrel{a_3}{\rightarrow}p_2\ p_1[/tex] 从[tex]p_n[/tex]走到[tex]p_2[/tex],我们在中途可以沿着箭头走,比如从[tex]p_i[/tex]走到[tex]p_{i-1}[/tex],这时要把系数乘上[tex]a_i[/tex];也可以跳一格,比如从[tex]p_i[/tex]跳到[tex]p_{i-2}[/tex],这时系数不变。我们要考虑所有从[tex]p_n[/tex]走到[tex]p_2[/tex]的方法,然后把那些系数加起来就是[tex]s_n[/tex]。从[tex]p_n[/tex]走到[tex]p_2[/tex]的方法可以按照跳的次数来分类,一次也不跳只有一种走法,系数是[tex]a_na_{n-1}\cdots a_4a_3[/tex];跳了一次的那些走法,把它们的系数加起来是[tex]a_na_{n-1}\cdots a_4a_3(\frac{1}{a_3a_4}+\frac{1}{a_4a_5}+\cdots+\frac{1}{a_{n-1}a_n})[/tex];依次类推。 现在落实到具体情况。对于[tex]a_3=6,a_4=10,a_5=14,\ldots[/tex]我们来计算[tex]\frac{s_n}{a_na_{n-1}\cdots a_4a_3}[/tex]。首先是一次也不跳的走法,这给[tex]\frac{s_n}{a_na_{n-1}\cdots a_4a_3}[/tex]贡献了1。然后是所有跳了一次的走法,这些走法贡献了 [tex]\frac{1}{6\cdot 10}+\frac{1}{10\cdot 14}+\cdots+\frac{1}{(4n-6)(4n-10)}[/tex] [tex]=\frac{1}{4}(\frac{1}{6}-\frac{1}{10}+\frac{1}{10}-\frac{1}{14}+\cdots+\frac{1}{4n-10}-\frac{1}{4n-6})[/tex] [tex]=\frac{1}{4}(\frac{1}{6}-\frac{1}{4n-6})[/tex] (我记得小学里就做过这样的题目,呵呵) 反正我们最后只是要考察n趋向于无穷大时的极限,现在就把极限取了也没什么问题。因此可以认为所有跳了一次的走法贡献了[tex]\frac{1}{4}\frac{1}{6}}[/tex]。 接下来考虑所有跳了两次的走法。这又可以分成:在[tex]p_4[/tex]跳了一次,并且在[tex]p_6[/tex]以前跳了一次的所有那些走法;在[tex]p_5[/tex]跳了一次,并且在[tex]p_7[/tex]以前跳了一次的所有那些走法;……应用前面得到的关于所有跳了一次的走法的结果,可以列出所有跳了两次的走法所产生的贡献为 [tex]\frac{1}{4}(\frac{1}{6\cdot 10\cdot 14}+\frac{1}{10\cdot 14\cdot 18}+\cdots)=\frac{1}{4}\frac{1}{8}\frac{1}{6\cdot 10}[/tex] 依次类推。所有跳了三次的走法的贡献是 [tex]\frac{1}{4}\frac{1}{8}(\frac{1}{6\cdot 10\cdot 14\cdot 18}+\frac{1}{10\cdot 14\cdot 18\cdot 22}+\cdots)[/tex] [tex]=\frac{1}{4}\frac{1}{8}\frac{1}{12}\frac{1}{6\cdot 10\cdot 14}[/tex] 等等等等。 于是[tex]\frac{s_n}{a_na_{n-1}\cdots a_4a_3}[/tex]的极限是: [tex]1+\frac{1}{4}\frac{1}{6}}+\frac{1}{4}\frac{1}{8}\frac{1}{6\cdot 10}+\frac{1}{4}\frac{1}{8}\frac{1}{12}\frac{1}{6\cdot 10\cdot 14}+\cdots[/tex] [tex]=2(\frac{1}{2}+\frac{1}{2^3}\frac{1}{3!} +\frac{1}{2^5}\frac{1}{5!}+\frac{1}{2^7}\frac{1}{7!}+\cdots)=e^{1/2}-e^{-1/2}[/tex] 同样的我们可以算出[tex]\frac{t_n}{a_na_{n-1}\cdots a_4a_3}[/tex]的极限 [tex]\frac{1}{6}(1+\frac{1}{4}\frac{1}{10}}+\frac{1}{4}\frac{1}{8}\frac{1}{10\cdot 14}+\frac{1}{4}\frac{1}{8}\frac{1}{12}\frac{1}{10\cdot 14\cdot 18}+\cdots)[/tex] [tex]=\frac{1}{2}\frac{2}{3!}+\frac{1}{2^3}\frac{4}{5!}+\frac{1}{2^5}\frac{6}{7!}+\frac{1}{2^7}\frac{8}{9!}+\cdots[/tex] [tex]=(\frac{e^x-e^{-x}}{2x})'|_{x=1/2}[/tex] [tex]=3e^{-1/2}-e^{1/2}[/tex] 好了。我们有[tex]p_{n}=s_{n}p_2+t_{n}p_1[/tex],[tex]q_{n}=s_{n}q_2+t_{n}q_1[/tex],[tex]p_2=1[/tex],[tex]p_1=0[/tex],[tex]q_2=1[/tex],[tex]q_1=1[/tex],于是[tex]\frac{p_n}{q_n}[/tex]的极限是 [tex]\frac{e^{1/2}-e^{-1/2}}{(e^{1/2}-e^{-1/2})+(3e^{-1/2}-e^{1/2})}=\frac{e-1}{2}[/tex] 说点题外话

当年考试的时候有一道题是:证明圆周率大于3.05。我一直是把[tex]\pi[/tex]理解成sin的零点的,所以想要试图证明sin(3.05)>0。但是我用的sin的级数展开(就是那个在0的泰勒展开)收敛得实在是太慢了,于是未果。接下来我又尝试了arctan(1)和[tex]\frac{1}{1+x^2}[/tex]的积分,但是效果都不好。也许用4arctan(1/5)-arctan(1/239)效果会好,但是考场上谁记得这个啊。
结果答案出来一看,这东西简单极了,只要割一个正12边形就成……是的,我当时就是没有试过割圆法……
所以虽然我直到现在仍然不懂[tex]\pi[/tex]究竟是什么东西,但有时最朴素的定义反而是最好的。如果你想手算[tex]\pi[/tex],建议使用割圆法。

Leave your comment

Required.

Required. Not published.

If you have one.