由③④可以推出g(x)=+g(x+n) n 为正整数⑤
n趋于正无穷时有
g(x+n)趋于0
所以g(x)=⑥
由微积分知道 ⑦
此式在非负整数上都成立即调和级数的实数拓延为
注:此式在x趋于无穷时失效,因为那时精度不够,因为那时被省略的 g(x+n)项 所累积的值会逐渐增大, x 趋于正无穷时 ,该值趋于 ln2。计算方法为将省略项用积分算出。但由于总有省略项的存在,只能得到某种精度的结果。如上式在x 为非无穷时完全成立。
非省略的式子为
悖论
中国古代哲学家称
悖论“饰人之心,易人之意,能胜人之口,不能服人之心”。
科学家们通过悖论来提出问题。悖论是科学中基础理论缺陷的产物,是对科学理论体系的挑战,是对人类智力的挑战。研究悖论能使我们了解学科基础理论的缺陷,而解决悖论的最大意义是能帮我们解决学科基础理论的缺陷——修改或重建某些基础理论,从而使科学研究朝着健康的方向发展。这是一种客观的需要。
约公元前465年,埃利亚的
芝诺著述了几个与无穷概念相关的悖论,导致了科学界的理论危机[1]。2500多年来,许许多多哲学家与数学家努力奋斗,力图解决芝诺那些与无穷概念相关的问题,但由于传统的有穷——无穷理论体系几千年来没有什么实质性的完善[2],使
芝诺悖论不仅不可能得到解决,反而还不时以不同的翻版出数学中,固执地向与无穷概念相关的数学内容发出一次次挑战,并且目标非常清楚——直捣整座数学大厦的基础。人们到为止的所有努力都只能以失败告终——时间在芝诺悖论面前凝固了!贝特兰﹒罗素清楚的看到了这一点,他在谈及芝诺悖论时写道:“经过谨慎的解释,似有可能再现芝诺的所谓‘悖论’,它们从提出之日起直到一直被人们所‘驳斥’。”
芝诺悖论不断以新的形式出科学中,形成一个庞大的“芝诺悖论家族”:
第二次数学危机是芝诺悖论在300多年前的一种翻版所引起的[3~5],而我们发现的调和级数悖论则是芝诺悖论的又一个很巧妙的翻版。
芝诺悖论
1. 芝诺所著述的与无穷概念相关的悖论
芝诺这些悖论的原作没有流传下来,但
亚里士多德在其著作中对此作了记录。我们将与调和级数悖论相关的两个悖论[1]摘引如下:
a. 运动是不存在的。在跑完某一段距离的全程之前,竞赛者首先必须跑完这段距离的一半;在跑完全程的一半之前,又必须跑完一半的半,即全程的四分之一;在跑完全程的四分之一之前,又得跑完全程的八分之一;…… 如此递推,以至无穷,故运动不可能。
b.
阿基里斯追不上乌龟。阿基里斯是
古希腊神话中善跑的英雄。在他和乌龟的竞赛中,乌龟在前面跑,他在后面追,但他不可能追上乌龟。因为在竞赛中,追者首先必须到达被追者的出发点,当阿基里斯到达乌龟在某时所处的位置时,乌龟已向前移动一些;阿基里斯再到达乌龟的那个位置时,乌龟又往前跑了一段;…… 因此,无论阿基里斯到达乌龟曾处的哪个位置,乌龟都会在他前面。所以,无论阿基里斯跑得多快,他永远追不上乌龟。
芝诺的这些悖论显然都与人们的生活经验、共识相悖。但问题是2400多年来人们一直无法真正认识
无穷概念的本质,无法真正认识与之相关的数量形式,必然无法回答芝诺通过悖论要人们所回答的问题。
据说,芝诺的一个学生曾抓来一只乌龟,让它在踞自己10步以外向前爬行,然后从后面追上乌龟,演示给芝诺看,想以此来证明阿基里斯完全可以追上乌龟。另一个叫爻布纳.希莫尼的学者编了一个既生动有趣、又中肯贴切的对话来评述芝诺悖论的荒谬:当一只饥饿凶猛的狮子从笼子里被放出来去追赶芝诺时,芝诺
不慌不忙地一边慢跑一边告诉人家,这只狮子永远不可能跑到他身边。因为狮子首先必须到达他的出发点,当狮子到达他在某时所处的位置时,他已向前移动一些;狮子再到达他的那个位置时,他又往前跑了一段;…… 因此,无论狮子到达他曾处的哪个位置,他都会在狮子前面。所以,无论狮子跑得多快,它永远追不上他。从另一个角度说,这狮子在接近他时必须跑完全程的一半,在跑完全程的一半前又必须跑完全程的四分之一,在跑完全程的四分之一前又必须跑完程的八分之一,如此类推,以至无穷,狮子连一步都跨不出。但在他刚说完狮子无论如何永远没办法追上他的话音落下后不久,芝诺被这飞跑而至的狮子吞吃掉了。有的人认为象这样对芝诺悖论的解答是最生动、准确不过了。其实在数学上仅用初中生都懂的加和
数列就可以轻而易举地告诉人们阿基里斯何时可追上乌龟。史料也表明芝诺当时未必不懂得这些简单的常识。但这类解答仅描述了事件的现象和结果,而芝诺要人们解答的是事件的可能性问题,要人们在理论上认识,解释与无穷概念相关的整个事件的过程。
2500多年前的芝诺以悖论的形式向人们发问:数学中与无穷概念相关的最小的数量形式是什么、有多大、该如何处理它们?由于这类问题一直无法得到解决,终于又爆发了另一次理论危机,以“微积分中的微增量dx是什么、有多大、该如何处理它们?”来重复2500多年前芝诺悖论所提出的问题,这就是众所周知的第二次数学危机。
微积分的历史告诉我们,人们在
求导数计算中可以不管dx有多大,想怎样去称呼那个dx,打算怎样去解析与dx,而是象芝诺悖论那样,关心的是人们该如何从理论上来认识与“无穷”相关的过程、与“无穷”相关的数量形式及其处理方式。由于现代科学中的无穷观在本质上仍然停留在芝诺时代的那种状态[2~10],必然使现代数学中“与无穷概念有关的数量形式及其相关处理方式”的所有理论,不管用什么语言来表述,在芝诺悖论面前全部原形毕露!无论是在标准分析或
非标准分析中,阿基里斯仍然追不上乌龟!所以,公元前465年时的芝诺悖论到如今仍然是芝诺悖论,且由于依然如故的合适的生存条件,使它在2500年中繁殖了许多后代。
2. 调和级数悖论
Oresme于1360年左右在《欧几里德几何问题》小册子中给出了一个关于调和级数发散性的证明。我们可以在现有的,由任何语言所写的许多
数学分析书中看到这个被公认的、很简单但却有着不寻常意义的证明(以下简称“原证”)。当然是现有的传统有穷--无穷理论体系及相关的极限论决定了这个证明的产生,使这个证明的整个思路、过程、结果在现有的理论体系框架中被当作共识所普遍接受。但我们的研究恰恰说明这个证明是2500年前芝诺悖论的又一个翻版。
调和级数是个无穷常减级数,Un 0 。级数中出现了人们常说的那种“无穷小”数量形式。在这证明中所暴露的问题仍然是芝诺在2500年前所问的完全相同的问题:无穷小究竟有多大?如何处理它们?
我们将Oresme的证明摘引如下:
(1)
=1+ +( )+...+( ...+ )+... (2)
>1+ ( )+...+( +...+ )+... (3)
=1+ ... (4)
对这个证明有两种解析:
A. 对级数(1)加上无穷多个括号而得到一个新的,含有无穷多个大于1/2的数的正数项无穷常增级数(2);然后,通过sn 的新级数(3)的发散性证得级数(1)发散。
B. 对级数(1)加上许多个括号而得sn ,在此,k大于任给正数,然后取极限,当n 时,k ,因此sn 而证得级数(1)发散。
原证中的思路与做法是现有数学中传统的有穷——无穷概念体系和与之相关的极限论很彻底的表现。
对于第一种解释,承认调和级数中的un 这一事实,原证中那种使用多项式加括号法则去处理调和级数中的无穷多个un 的数量形式而制造出无穷多个大于1/2的量的思路与做法不妥。这里我们发现了一个问题:如想对级数(1)加上无穷多个括号而制造出无穷多个大于1/2的量,就要求级数提供无穷多个被加的量,即需要n 。 但是当n 时,按定义,级数中必然出现无数以limun = 0, lim un+1=0,...,limun+a=0...的形式所表现的那类数量形式。按照三代
数学分析理论中处理X 0的数学内容的作法,我们应该将这些无限趋于0的数量形式从
多项式运算式中赶走[3],导致如此多项式运算的加括号法则失效,再也没办法制造出任何大于1/2的量了。所以,如此加括号法则仅能处理调和级数中的一部分数项而制造出许多个大于1/2的量,但却没有能力处理调和级数中的无穷数项而得到无穷多个大于1/2的量。
退一步说,如果有人想出一些理论,硬说原证中那种对实际情况不做任何分析而无限使用加括号法对调和级数进行处理的随心所欲的做法是允许的,我们只要改变原证中的加括号法则,依法炮制(如使式(2)中的每一项大于1或大于10或大于100……),就可以将调和级数变成任意的正数项无穷常增级数。这样,一个un 的无穷常减级数就可以用加括号法象变戏法一样将其改造成任意的un 的无穷常增级数,反之亦然!难道这样两种性质上有很大区别的无穷级数果然真的可以互相转化?这只能给原来的“无穷”、“无穷小”、“无穷大”概念再添上一层神秘的色彩。
对于第二种解释,我们承认可对级数(1)的有穷数项加上有穷多个括号而得sn ,但如果接下去说“要取极限”,而断言当n 时,k ,因此sn ,就错了。与第一种解析中同样的道理,因为当我们说n 时,实际上就同时承认了limun = 0, limun+1=0,...,limun+a=0...这类事实的存在;与求导数过程中的微增量一样,它们本应该从
多项式运算式中消失,而再也没有“原料”让那样的一种多项式加括号法去制造出任何大于1/2的数了。这决定k根本就不具备趋于 的条件,sn 的推论是完全没有根据的,是错误的!
我们目睹了一个活生生的现代芝诺悖论的翻版:阿基里斯就是这个证明中的多项式加括号法,而乌龟就是调和级数。尽管善跑的阿基里斯步伐又大又快,但是在理论上乌龟将永远在他的前面----尽管多项式加括号法可以很快处理掉调和级数中的许许多多数项,但理论上却永远有无数可用多项式加括号法则去处理的数项。所以那里的阿基里斯永远追不上乌龟,而这里的多项式运算可以得到无穷多个大于1/2的量。
在此,我们清楚地看到,在原证的整个证明中竟然可以完全不必分析级数中的un 是什么意思,该如何处理它们,为什么可以那样处理?比如说,能否象在求导数的运算中那样,对这些无穷小数项(或叫无限趋于0的量)过一道“ —δ”语言手续,或过一道“取标准数的手续”,而让它们都从多项式加法运算式中消失,使证明中的加括号多项式运算没有条件无穷地进行下去。是数学家把这些问题给忘了吗?不!问题的关键是:在传统的有穷--无穷理论体系中该在什么时候、对什么样的数学内容取
极限,是毫无理论根据的。而更重要的是:从芝诺时代起一直到“无穷”就是个很笼统的数学内容,人们根本无法明确地表现与无穷概念相关的各种数量形式,这必然使人们无法认识调和级数中的un 所表示的数学意义;该如何认识与处理这类与un 有关的无数数项,人们心里是无数的[6~7]。换句话说,以现有数学中传统的有穷、无穷理论体系和与之相关的极限论,谁也无法自圆其说:为什么在数学分析理论的
求导数运算中,可以通过对dx取极限或取标准数的做法让无限趋于零的dx从
多项式运算式中消失,而在调和级数中的lim un=0 ,limun+1=0,...,limun+a=0...却不该从多项式运算式中消失?谁也无法自圆其说:用那样一种加括号法则去处理调和级数,究竟能制造出多少个大于1/2的量——有穷多个或无穷多个?当然,在现有的理论体系中,不管是哪种结论都会产生悖论。
结论
2500多年前,芝诺以悖论的形式向人们发问:无穷过程所产生的无穷小究竟是多大、该如何处理它们?而到了三百多年前的微积分时代,
贝克莱又以“dx悖论”的形式再版芝诺悖论,重新向人们发问:与无穷概念相关的无限趋于0的量究竟是多大、该如何处理它们?调和级数悖论所提出的问题还是:无穷调和级数中的un 数项究竟是多大、该如何处理它们?2500多年来,这个问题反复出现,不知要耗费人类多少心血。
2500多年的科学史告诉我们,人们在解决芝诺悖论上的工作思路是错误的:没有深入研究造成悖论的传统无穷观及相关数量体系的缺陷,没有从构造新的无穷观及相对应的数量体系下手。所以,不管如何努力,只能是徒劳。
挣脱现有的传统有穷--无穷理论体系缺陷的束缚,构造科学的、新的有穷--无穷理论体系及与之相对应的数量体系,才是彻底解决芝诺悖论、彻底解决所有芝诺悖论翻版,彻底解决第二、
第三次数学危机的唯一途径[6~10]。
相关思考
当n越来越大时,调和级数的项变得越来越小,然而,慢慢地——非常慢慢地——它的和将增大并超过任何一个有限值。调和级数的这种特性使一代又一代的数学家困惑并为之着迷。下面的数字将有助于我们更好地理解这个级数。这个级数的前1000项相加约为7.485;前100万项相加约为14.357;前10亿项相加约为21;前一万亿项相加约为28,等等。更有学者估计过,为了使调和级数的和等于100,必须把10的43次方项加起来。
调和级数是发散的,这是一个令人困惑的事情,事实上调和级数令人不耐烦地慢慢向无穷大靠近,我们可以很容易的看到这个事实,因为S2n-Sn>1/2,而调和级数的第一项是1,也就是说调和级数的和要想达到51那么它需要有2的100次方那个多项才可以。而2的100次方这个项是一个大到我们能够处理范围以外的数字,在计算机元科学领域,这属于一个不可解的数。
p-级数在P>1的时候是收敛的,也就是说对于任意ε>0,n的1+ε次方的倒数这个级数是收敛的,在我们直观上看来,好像调和级数下面的n只要大了一小点,或者说调和级数的每一项只要小一小点点,那么这个级数就是收敛的了,但是事实上并不是这样sin1/n这个级数的发散的,但是在1/n>0的时候,sin1/n<1/n是一个人尽皆知的事实,但是它却并不收敛,这个令人困惑的问题恰恰说明了一个问题,数轴上数的稠密性。
在分母换成
素数的时候又会产生两个令人困惑不解的事实:
设所有的素数的倒数和为:
s=1/2+1/3+1/5+1/7+1/11+...
在我们直观的看来,素数比自然数要少的多,但是很不幸这个级数是发散的。
b=(1/3+1/5)+(1/5+1/7)+(1/11+1/13)+...
这个级数是收敛的,这个常数就被称为
布隆常数:b=1.90216054...
另外一个我们取调和级数的一个子数列,例如取n=4k,级数仍然是发散的,但是这样却产生了另一个困惑,我们如果取n为所有不含有数字8的自然数,所得的级数是收敛的,这个事实可以这样解释,在无限的范围以内,每个自然数几乎含有所有的10个数字。
相关值
S=1+1/2+1/3+...+1/n:
S>0 n=1
S>1 n=2
S>2 n=4
S>3 n=11
S>4 n=31
S>5 n=83
S>6 n=227
S>7 n=616
S>8 n=1674
S>9 n=4550
S>10 n=12367
S>11 n=33617
S>12 n=91380
S>13 n=248397
S>14 n=675214
S>15 n=1835421
......
计算机程序(C):
注意:本程序由于浮点误差,当S>=16时不保证结果准确;但算法是正确的,仅供参考。