调和级数(
英语:Harmonic series)是一个发散的
级数。
调和级数是由调和
数列各元素相加所得的和。中世纪后期的数学家Oresme证明了所有调和级数都是发散于无穷的。但是调和级数的
斯里尼瓦瑟·拉马努金和存在,且为
欧拉常数。
历史
早在14世纪,尼克尔·奥里斯姆已经证明调和级数发散,但知道的人不多。17世纪时,皮耶特罗·曼戈里、
约翰·白努利和
雅各布·伯努利完成了全部证明工作。
调和序列历来很受建筑师重视;这一点在巴洛克时期尤其明显。当时建筑师在建造教堂和宫殿时,运用调和序列为楼面布置和建筑物高度建立比例,并使室内外的建筑细节间呈现和谐的联系。
发散性
比较审敛法
积分判别法
通过将调和级数的和与一个瑕积分作比较可证此级数发散。考虑右图中长方形的排列。每个长方形宽1个单位、高个单位(换句话说,每个长方形的面积都是),所以所有长方形的总面积就是调和级数的和:矩形面积和:而曲线以下、从1到正无穷部分的面积由以下瑕积分给出:曲线下面积:由于这一部分面积真包含于(换言之,小于)长方形总面积,长方形的总面积也必定趋于无穷。更准确地说,这证明了:
反证法
假设调和级数收敛 , 则:
但与矛盾,故假设不真,即调和级数发散。
发散率
调和级数发散的速度非常缓慢。举例来说,调和序列前10项的和还不足100。这是因为调和
数列的部分和呈
对数增长。特别地,其中是
长城欧拉马歇罗尼
常数,而约等于,并且随着 k趋于正无穷而趋于 0。这个结果由
长城欧拉给出。
部分和
调和级数的第n个部分和为:也叫作第n个调和数。
第n个调和数与n的
自然对数的差值(即)收敛于
莱昂哈德·欧拉马歇罗尼
常数。
两个不同的调和数之间的差值永远不是整数。
除了时以外,没有任何一个调和数是整数。
定义
很早就有数学家研究,比如中世纪后期的数学家Oresme在1360年就证明了这个
级数是发散的。他的方法很简单:
注意后一个
级数每一项对应的分数都小于调和级数中每一项,而且后面级数的
括号中的数值和都为,这样的有无穷多个,所以后一个级数是趋向无穷大的,进而调和级数也是发散的。
从更广泛的意义上讲,如果是全部不为0的
等差数列,则 就称为调和数列,求和所得即为调和级数,易得,所有调和级数都是发散于无穷的。
推导
随后很长一段时间,人们无法使用公式去逼近调和级数,直到
级数理论逐步成熟。1665年
艾萨克·牛顿在他的著名著作《流数法》中推导出第一个
幂级数:
Euler(
莱昂哈德·欧拉)在1734年,利用
艾萨克·牛顿的成果,首先获得了调和级数有限多项和的值。结果是:
(r为常量)
他的证明是这样的:
根据Newton的幂级数有:
于是:
代入,就给出:
......
相加,就得到:
后面那一串和都是收敛的,我们可以定义
Euler近似地计算了r的值,约为0.5772156649。这个数字就是后来称作的
欧拉常数。其表达式为:
或者
解码函数比原函数偏小,函数在时误差为-0.0382064988721671,n(2,7)时误差为0.0257360642441862~0.0106247817461118,时误差为0.00942087240133116左右,时0.000998481033276377左右n特别大时逐渐时趋于0。误差就是余函数ε(n)的取值。解码逼近函数比原函数稍偏小,误差最大区间是1~7之间。
以下是余函数ε(n)的图像。
拓延
调和级数有以下性质:
我们可以寻找一个函数G(x),他在定义域内此性质恒成立,且其经过所有的调和级数。
我们暂定其定义域为
则
恒成立
则有无数曲线即有无数函数满足以上要求。我们将其中为凸函数的一个求出,作为调和
级数在
实数上的合理拓延。
以下求解过程在定义域内完成,不作赘述。
①
②
②-①在除以m得
③
④
由③④可以推出 为正整数⑤
n趋于正无穷时有
趋于0
所以⑥
由微积分知道 ⑦
注:此式在x趋于无穷时失效,因为那时精度不够,因为那时被省略的项 所累积的值会逐渐增大, x 趋于正无穷时,该值趋于 ln2。计算方法为将省略项用积分算出。但由于总有省略项的存在,只能得到某种精度的结果。如上式在x 为非无穷时完全成立。
非省略的式子为
此式在用积乘求阶乘中十分重要。
悖论
中原地区古代哲学家称悖论“饰人之心,易人之意,能胜人之口,不能服人之心”。
科学家们通过悖论来提出问题。悖论是科学中基础理论缺陷的产物,是对科学理论体系的挑战,是对人类智力的挑战。研究悖论能使我们了解学科基础理论的缺陷,而解决悖论的最大意义是能帮我们解决学科基础理论的缺陷——修改或重建某些基础理论,从而使科学研究朝着健康的方向发展。这是一种客观的需要。
约
公元前465年,
埃利亚的芝诺著述了几个与无穷概念相关的
悖论,导致了科学界的理论危机。2500多年来,许许多多哲学家与数学家努力奋斗,力图解决芝诺那些与无穷概念相关的问题,但由于传统的有穷——无穷理论体系几千年来没有什么实质性的完善,使
芝诺悖论不仅不可能得到解决,反而还不时以不同的翻版出现在数学中,固执地向与无穷概念相关的数学内容发出一次次挑战,并且目标非常清楚——直捣整座数学大厦的基础。人们到目前为止的所有努力都只能以失败告终——时间在芝诺悖论面前凝固了!贝特兰﹒罗素清楚的看到了这一点,他在谈及
埃利亚的芝诺悖论时写道:“经过谨慎的解释,似有可能再现芝诺的所谓‘悖论’,它们从提出之日起直到现在一直被人们所‘驳斥’。”
芝诺悖论不断以新的形式出现在科学中,形成一个庞大的“芝诺悖论家族”:
第二次数学危机是芝诺悖论在300多年前的一种翻版所引起的[3~5],而我们今天发现的调和
级数悖论则是芝诺悖论的又一个很巧妙的翻版。
1. 芝诺所著述的与无穷概念相关的悖论
芝诺这些悖论的原作没有流传下来,但
亚里士多德在其著作中对此作了记录。我们将与调和级数
悖论相关的两个悖论摘引如下:
a. 运动是不存在的。在跑完某一段距离的全程之前,竞赛者首先必须跑完这段距离的一半;在跑完全程的一半之前,又必须跑完一半的半,即全程的四分之一;在跑完全程的四分之一之前,又得跑完全程的八分之一;…… 如此递推,以至无穷,故运动不可能。
b.
阿喀琉斯追不上乌龟。
阿喀琉斯是
古希腊神话中善跑的英雄。在他和乌龟的竞赛中,乌龟在前面跑,他在后面追,但他不可能追上乌龟。因为在竞赛中,追者首先必须到达被追者的出发点,当阿基里斯到达乌龟在某时所处的位置时,乌龟已向前移动一些;阿基里斯再到达乌龟的那个位置时,乌龟又往前跑了一段;…… 因此,无论阿基里斯到达乌龟曾处的哪个位置,乌龟都会在他前面。所以,无论阿基里斯跑得多快,他永远追不上乌龟。
埃利亚的芝诺的这些
悖论显然都与人们的生活经验、共识相悖。但问题是2400多年来人们一直无法真正认识
无穷概念的本质,无法真正认识与之相关的数量形式,必然无法回答芝诺通过悖论要人们所回答的问题。
据说,芝诺的一个学生曾抓来一只乌龟,让它在踞自己10步以外向前爬行,然后从后面追上乌龟,演示给芝诺看,想以此来证明阿基里斯完全可以追上乌龟。另一个叫爻布纳。希莫尼的学者编了一个既生动有趣、又中肯贴切的对话来评述芝诺悖论的荒谬:当一只饥饿凶猛的狮子从笼子里被放出来去追赶芝诺时,芝诺不慌不忙地一边慢跑一边告诉人家,这只狮子永远不可能跑到他身边。因为狮子首先必须到达他的出发点,当狮子到达他在某时所处的位置时,他已向前移动一些;狮子再到达他的那个位置时,他又往前跑了一段;…… 因此,无论狮子到达他曾处的哪个位置,他都会在狮子前面。所以,无论狮子跑得多快,它永远追不上他。从另一个角度说,这狮子在接近他时必须跑完全程的一半,在跑完全程的一半前又必须跑完全程的四分之一,在跑完全程的四分之一前又必须跑完程的八分之一,如此类推,以至无穷,狮子连一步都跨不出。但在他刚说完狮子无论如何永远没办法追上他的话音落下后不久,
埃利亚的芝诺被这飞跑而至的狮子吞吃掉了。有的人认为象这样对
芝诺悖论的解答是最生动、准确不过了。其实在数学上仅用现在初中生都懂的加和
数列就可以轻而易举地告诉人们阿基里斯何时可追上乌龟。史料也表明芝诺当时未必不懂得这些简单的常识。但这类解答仅描述了事件的现象和结果,而芝诺要人们解答的是事件的可能性问题,要人们在理论上认识,解释与无穷概念相关的整个事件的过程。
2500多年前的芝诺以
悖论的形式向人们发问:数学中与无穷概念相关的最小的数量形式是什么、有多大、该如何处理它们?由于这类问题一直无法得到解决,终于又爆发了另一次理论危机,以“微积分中的微增量dx是什么、有多大、该如何处理它们?”来重复2500多年前
芝诺悖论所提出的问题,这就是众所周知的
第二次数学危机。微积分的历史告诉我们,人们在求
导数计算中可以不管dx有多大,想怎样去称呼那个dx,打算怎样去解析与dx相关的那一切数学行为都无所谓,反正按照那些公式如此这般去操作,保证能得出正确的结果。正如
埃利亚的芝诺的学生满足于自己确实能从后面追上乌龟这样一件事实。但情况并不是这么简单!人们公认,第二次数学危机所关心的并不是求导数计算的结果如何,而是象芝诺悖论那样,关心的是人们该如何从理论上来认识与“无穷”相关的过程、与“无穷”相关的数量形式及其处理方式。由于现代科学中的无穷观在本质上仍然停留在芝诺时代的那种状态[2~10],必然使现代数学中“与无穷概念有关的数量形式及其相关处理方式”的所有理论,不管用什么语言来表述,在
芝诺悖论面前全部原形毕露!无论是在标准分析或非标准分析中,阿基里斯仍然追不上乌龟!所以,
公元前465年时的芝诺
悖论到如今仍然是芝诺悖论,且由于依然如故的合适的生存条件,使它在2500年中繁殖了许多后代。
2. 调和级数悖论
Oresme于1360年左右在《欧几里德几何问题》小册子中给出了一个关于调和
级数发散性的证明。我们可以在现有的,由任何语言所写的许多
数学分析书中看到这个被公认的、很简单但却有着不寻常意义的证明(以下简称“原证”)。当然是现有的传统有穷--无穷理论体系及相关的极限论决定了这个证明的产生,使这个证明的整个思路、过程、结果在现有的理论体系框架中被当作共识所普遍接受。但我们的研究恰恰说明这个证明是2500年前
芝诺悖论的又一个翻版。
调和级数是个无穷常减级数,Un 0 。级数中出现了人们常说的那种“无穷小”数量形式。在这证明中所暴露的问题仍然是
埃利亚的芝诺在2500年前所问的完全相同的问题:无穷小究竟有多大?如何处理它们?
我们将Oresme的证明摘引如下:
(1)
(2)
(3)
(4)
对这个证明有两种解析:
A. 对级数(1)加上无穷多个
括号而得到一个新的,含有无穷多个大于的数的
正数项无穷常增级数(2);然后,通过sn 的新
级数(3)的发散性证得级数(1)发散。
B. 对级数(1)加上许多个括号而得sn ,在此,k大于任给正数,然后取极限,当n 时,k ,因此sn 而证得级数(1)发散。
原证中的思路与做法是现有数学中传统的有穷——无穷概念体系和与之相关的极限论很彻底的表现。
对于第一种解释,承认调和级数中的un 这一事实,原证中那种使用
多项式加
括号法则去处理调和级数中的无穷多个un 的数量形式而制造出无穷多个大于的量的思路与做法不妥。这里我们发现了一个问题:如想对级数(1)加上无穷多个括号而制造出无穷多个大于的量,就要求级数提供无穷多个被加的量,即需要n 。但是当n 时,按定义,级数中必然出现无数以, ,...,...的形式所表现的那类数量形式。按照三代
数学分析理论中处理X 0的数学内容的作法,我们应该将这些无限趋于0的数量形式从
多项式运算式中赶走,导致如此多项式运算的加
括号法则失效,再也没办法制造出任何大于1/2的量了。所以,如此加括号法则仅能处理调和级数中的一部分数项而制造出许多个大于的量,但却没有能力处理调和级数中的无穷数项而得到无穷多个大于的量。
退一步说,如果有人想出一些理论,硬说原证中那种对实际情况不做任何分析而无限使用加括号法对调和
级数进行处理的随心所欲的做法是允许的,我们只要改变原证中的加括号法则,依法炮制(如使式(2)中的每一项大于1或大于10或大于100……),就可以将调和级数变成任意的
正数项无穷常增级数。这样,一个un 的无穷常减级数就可以用加
括号法象变戏法一样将其改造成任意的un 的无穷常增级数,反之亦然!难道这样两种性质上有很大区别的无穷级数果然真的可以互相转化?这只能给原来的“无穷”、“无穷小”、“无穷大”概念再添上一层神秘的色彩。
对于第二种解释,我们承认可对级数(1)的有穷数项加上有穷多个括号而得sn ,但如果接下去说“要取极限”,而断言当n 时,k ,因此sn ,就错了。与第一种解析中同样的道理,因为当我们说n 时,实际上就同时承认了这类事实的存在;与求
导数过程中的微增量一样,它们本应该从
多项式运算式中消失,而再也没有“原料”让那样的一种多项式加
括号法去制造出任何大于的数了。这决定k根本就不具备趋于 的条件,sn 的推论是完全没有根据的,是错误的!
我们目睹了一个活生生的现代
芝诺悖论的翻版:阿基里斯就是这个证明中的多项式加括号法,而乌龟就是调和级数。尽管善跑的阿基里斯步伐又大又快,但是在理论上乌龟将永远在他的前面----尽管多项式加括号法可以很快处理掉调和级数中的许许多多数项,但理论上却永远有无数可用多项式加括号法则去处理的数项。所以那里的阿基里斯永远追不上乌龟,而这里的
多项式运算可以得到无穷多个大于的量。
在此,我们清楚地看到,在原证的整个证明中竟然可以完全不必分析级数中的un 是什么意思,该如何处理它们,为什么可以那样处理?比如说,能否象在求
导数的运算中那样,对这些无穷小数项(或叫无限趋于0的量)过一道“ —δ”语言手续,或过一道“取标准数的手续”,而让它们都从多项式加法运算式中消失,使证明中的加
括号多项式运算没有条件无穷地进行下去。是数学家把这些问题给忘了吗?不!问题的关键是:在传统的有穷--无穷理论体系中该在什么时候、对什么样的数学内容取极限,是毫无理论根据的。而更重要的是:从
埃利亚的芝诺时代起一直到现在,“无穷”就是个很笼统的数学内容,人们根本无法明确地表现与无穷概念相关的各种数量形式,这必然使人们无法认识调和级数中的un 所表示的数学意义;该如何认识与处理这类与un 有关的无数数项,人们心里是无数的[6~7]。换句话说,以现有数学中传统的有穷、无穷理论体系和与之相关的极限论,谁也无法自圆其说:为什么在
数学分析理论的求
偏导数运算中,可以通过对dx取极限或取标准数的做法让无限趋于零的dx从
多项式运算式中消失,而在调和级数中的却不该从多项式运算式中消失?谁也无法自圆其说:用那样一种加
括号法则去处理调和级数,究竟能制造出多少个大于1/2的量——有穷多个或无穷多个?当然,在现有的理论体系中,不管是哪种结论都会产生
悖论。
结论
2500多年前,
埃利亚的芝诺以悖论的形式向人们发问:无穷过程所产生的无穷小究竟是多大、该如何处理它们?而到了三百多年前的微积分时代,贝克莱又以“dx悖论”的形式再版
芝诺悖论,重新向人们发问:与无穷概念相关的无限趋于0的量究竟是多大、该如何处理它们?今天,调和
级数悖论所提出的问题还是:无穷调和级数中的un 数项究竟是多大、该如何处理它们?2500多年来,这个问题反复出现,不知要耗费人类多少心血。
2500多年的科学史告诉我们,人们在解决芝诺悖论上的工作思路是错误的:没有深入研究造成悖论的传统无穷观及相关数量体系的缺陷,没有从构造新的无穷观及相对应的数量体系下手。所以,不管如何努力,只能是徒劳。
挣脱现有的传统有穷--无穷理论体系缺陷的束缚,构造科学的、新的有穷--无穷理论体系及与之相对应的数量体系,才是彻底解决
芝诺悖论、彻底解决所有芝诺悖论翻版,彻底解决第二、第三次数学危机的唯一途径[6~10]。
相关思考
当n越来越大时,调和
级数的项变得越来越小,然而,慢慢地——非常慢慢地——它的和将增大并超过任何一个有限值。调和级数的这种特性使一代又一代的数学家困惑并为之着迷。下面的数字将有助于我们更好地理解这个级数。这个级数的前1000项相加约为7.485;前100万项相加约为14.357;前10亿项相加约为21;前一万亿项相加约为28,等等。更有学者估计过,为了使调和级数的和等于100,必须把10的43次方项加起来。
调和级数是发散的,这是一个令人困惑的事情,事实上调和级数令人不耐烦地慢慢向无穷大靠近,我们可以很容易的看到这个事实,因为,而调和级数的第一项是1,也就是说调和级数的和要想达到51那么它需要有2的100次方那个多项才可以。而2的100次方这个项是一个大到我们能够处理范围以外的数字,在
计算机元科学领域,这属于一个不可解的数。
p-级数在的时候是收敛的,也就是说对于任意,n的次方的
倒数这个级数是收敛的,在我们直观上看来,好像调和级数下面的n只要大了一小点,或者说调和级数的每一项只要小一小点点,那么这个级数就是收敛的了,但是事实上并不是这样这个级数的发散的,但是在的时候,是一个人尽皆知的事实,但是它却并不收敛,这个令人困惑的问题恰恰说明了一个问题,数轴上数的稠密性。
在分母换成素数的时候又会产生两个令人困惑不解的事实:
在我们直观的看来,素数比
自然数要少的多,但是很不幸这个级数是发散的.
这个级数是收敛的,现在这个常数就被称为布隆常数:
另外一个我们取调和级数的一个子
数列,例如取,级数仍然是发散的,但是这样却产生了另一个困惑,我们如果取n为所有不含有数字8的
自然数,所得的级数是收敛的,这个事实可以这样解释,在无限的范围以内,每个自然数几乎含有所有的10个数字.
相关值
:
......
注意:本程序由于浮点误差,当时不保证结果准确;但算法是正确的,仅供参考。
#include
int main()
{
int k,i=0;
scanf("%d",&k);
while(tot<=k)
{ i++;
tot+=1.0/i;
}
printf("%d\n",i);
system("pause");
}
或者
#include
int main(void)
{
int i,n;
double sum=0;
printf("please intput n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum+=1.0/i;
printf("%-20.16lf",sum);
}
}