微积分之前奏1:高阶等差数列的求和
作者注:本文基于作者参加《知识就是力量》杂志社主办2016年度 "全国中学生数学/物理/化学科普竞赛"数学科普讲座的讲稿《从杨辉三角到李善兰垛积术》,曾在石家庄、郑州、西安、青岛、济南五城市为参赛的中学生做报告。后来整理成文发表于《数学传播》2017年第1期,网页链接如下https://web.math.sinica.edu.tw/mathmedia/HTMLarticle18.jsp?mID=41107
本文的一个缩写版发表于《高等数学研究》(标题略有不同),考虑到许多读者对该文的关注(中国知网下载量近200次),我们在好玩的数学推出《数学传播》上发表更详实的版本,并计划以本篇为开篇,推送以“微积分之前奏”为主题的系列讲座(同时配合本人在西北农林科技大学为计算机专业本科生开设的离散数学课程)。感谢《数学传播》授权转载。 以下是正文(编辑时略有删减)。 ——林开亮
另一件印象比较深刻的事,是上初中时,我对中国古代数学萌发了一些兴趣。记得那时我们在念代数,教科书是《范氏大代数》。 那时一直困惑我的一个问题是:为什么我们的数学教科书上没有一个来自中国文明的定理和成就?
—— 程贞一【6】
最早的几何学、最早的方程组、最古老的矩阵等等,翻开历史,中国曾经是一个数学的国度,中国数学在世界上的位置远比今天靠前。祖冲之、刘徽、《九章算术》、《周髀算经》、《四元玉鉴》等一批大家和著作,使中国数学曾经处于世界巅峰。正是由于这些辉煌,中国数学不仅要振兴,更要复兴!
—— 吴文俊【12】
1.引言
在笔者从事两年微积分教学以后,突然发现,有一个内容其实特别适合大一新生乃至即将升入大学的高中生,这就是高阶等差数列的求和。它本质上这可以视为一种"有限(或离散)"的微积分,因而可以说是(无限)微积分的前奏或变奏。
在许多资深的大学教师看来,这自然是小儿科,但对从未接触微积分或者是学完微积分仍然摸不着头脑的学生(据我了解,这样的人大有人在)而言,也许会非常吸引人。笔者认为,可以考虑将这部分内容吸收到中学数学教材(作为微积分的前奏)或者大学数学教材(作为微积分的变奏,事实上这部分内容出现在计算机编程大师高德纳与人合写的离散数学教材《具体数学》【9】的章节中)。
葛立恒(Graham)、高德纳(Knuth)、帕塔许尼克(Patashnik)合写的《具体数学》(有中译本)
不过通常教材都比较枯燥,我们这里打算以讲故事的形式展开。首先要指出,这里所讲的故事都是有据可查的历史,而且你会惊喜地发现,原来中国古代数学家(以元代的朱世杰为代表)对"有限"微积分作出了如此重大的贡献!如果中学时代的程贞一有机会听到这个故事,想必他一定会很激动的。
2. 高斯的故事:前n个正整数的求和
谈及等差数列的求和,也许想到的第一个例子就是高斯(Gauss)著名的求和
流行的说法是,聪明的高斯用倒序相加(利用对称性)的办法得出了和数,并且从中可以得到一般公式
可以想见,(1)很早就被人得到了,例如它出现在1世纪出版的中国古典数学名著《九章算术》中,见第三章衰分和第六章均输。
3. 回到阿基米得:前n个正整数的平方的求和
如果我们考虑的不是前n个正整数的求和,而是它们的平方的求和:
那么历史就把我们带回到古希腊最伟大的数学家阿基米得(Archimedes)了,他是(有记录的)第一个求出这个和的人。他的结果记录在《论螺线》命题10,即下式
他用这个公式求出了抛物线y=x^2被x=0与x=1所截得的抛物三角形的面积为
1/3。
4. 福尔哈伯公式:前n个正整数的p次幂的求和
公式(1)(2)自然地引出一个一般问题,即前n个正整数的p次幂的求和(这里p是一个正整数):
历史上有许多数学家对这个问题作出了贡献,如埃及的海赛姆(Ibn Al-Haytham, 11~世纪初)、德国数学家福尔哈伯(Johann Faulhaber, 1631年)、瑞士数学家雅各布·伯努利(Jacob Bernoulli, 1713年)、日本数学家关孝和(Takakazu Seki, 1712年)以及中国数学家李善兰(1867年)。
最后的结果通常表达为下述福尔哈伯公式(或称伯努利公式):
其中
是组合数,而B_j是著名的伯努利数,由等式
递归定义。由此可以依次算出
作为福尔哈伯公式的一个特例(令p=3),我们写出前n个正整数的立方和:
20世纪的德国大数学家西格尔(C. L. Siegel)曾经说,当第一个人发现了福尔哈伯公式的最简单的情形时,"他必定博得了亲爱的上帝的欢喜(It pleased the dear Lord.)"
关于福尔哈伯公式,已经有许多文献讨论,我们不拟重复,仅指引一部优秀的参考文献,即【9】。在该书第6章和第7章给出了两个独立的证明,特别值得指出的是,第7章给出的母函数的证明,曾经被当时还是中学生的盖尔范德(I. M. Gelfand)独立发现,有兴趣的读者可以点击链接 I. M. Gelfand 自述。
盖尔范德的证明我们留给有兴趣的读者去了解,在作者看来,他的方法和技巧对高中生来说也许还是太难了一点。我们以下将要介绍的,是一种更为初等的方法,它是中国古代数学的一项杰出成就——高阶等差数列的求和——的一个直接应用。
5. 什么是高阶等差数列?
现在我们来考虑一个更具一般性的问题:高阶等差数列的求和。它将前面几节考虑的问题作为特例包含进来。
首先要回答的问题是:什么是高阶(例如,p阶)等差数列?
至少你会期待,n的p次方(以n为变量的数列)是一个p阶等差数列。
我们将看到,对这个问题的具体回答(定理1与定理3),将自动引出高阶等差数列求和的一个自然方法。
什么是高阶等差数列呢?我们先给一个抽象的定义。
先看最简单的情况,即一阶等差数列,也就是通常所谓的等差数列的定义。
根据定义,数列f(n)称为等差数列,如果其前后两项的差恒为常数(称之为公差)。通过引入所谓(向前)差分算子
一个数列 f 经过
利用差分算子,现在我们可以重新定义等差数列:
定义1. 等差数列就是其差分
作为算子,
由此立即可得p阶等差数列的定义:
定义2. 设p为正整数. 一个数列f 称为p阶等差数列,如果其p阶差分为常数列
而p-1阶差分不为常数列。
根据定义, 立即可以验证,n^2是一个二阶等差数列,因为其差分
是一个一阶等差数列,再求一次差分就得到常数列。
一般的,我们不难验证,对任意给定的正整数p,n的p次方(以n为变量的数列)是一个p阶等差数列.
事实上,所有的p阶等差数列有一个简单的具体刻画。
定理1: 令p是正整数. f(n)是一个p阶等差数列当且仅当f(n)是n的p次多项式。
注意到,充分性是容易验证的。而必要性将作为一个更一般的结果(定理3)的推论给出。
6. 朱世杰恒等式
高阶等差数列的研究在中国源远流长,北宋博学家沈括在《梦溪笔谈》第18卷第301条中首次提出了一个二阶等差数列的求和公式(沈括是用文字叙述,这里改用字母):
其中
代表的是求和的长度(项数)。
注意,(6)包含(2)作为特殊情况(取a=b=0,c=d=n);而另一个值得注意的
特殊情形,是令a=0,b=1,c=n,d=n+1,此时我们得到
它等价于
这个特例曾由南宋的杨辉在其1261年出版的著作《详解九章算法》中特别指出。
接下来的重要一步由元代的朱世杰迈出,他注意到一个一般的p阶等差数列的求和公式(他在1303年出版的《四元玉鉴》中虽然只写出了p=2,3,4,5,6的情况,但根据他对这一方法的说明,可以判断他掌握了一般的情况),鉴于其重要性,我们把它写成一个定理:
定理2(朱世杰恒等式):
(i)设整数p,n非负,则有
(ii)设整数n≥p≥0,则有
历史注记:朱世杰真正得到的是(8)式,但在组合学中提到朱世杰恒等式通常是指(9)。不难验证,(8)与(9)等价,可见高德纳等【9】。我们不打算重复这个结果的经典证明,仅满足于指出,证明(8)的一个关键引理如下:
引理1(杨辉恒等式):设n,p是正整数,且p≤n,则有
杨辉恒等式与朱世杰恒等式在组合学中占有重要地位。毫不奇怪,这些结果后来也被研究过"帕斯卡三角"(华罗庚称之为"杨辉三角",同样的,我们这里的"杨辉恒等式"的提法也是沿袭华罗庚先生,见【11】)的帕斯卡(Pascal,法国数学家)重新发现。
杨辉三角
不过,朱世杰得到这个恒等式,是沿沈括堆垛的思路(所谓"垛积术")而来。对此,近代数学史家章用【19】曾给出极好的解读:
董佑诚(1791--1823)《割圆连比例图解》后序曰:
近读朱世杰《四元玉鉴》"茭草形段"、"果垛迭藏"诸问,乃知递乘递除之术,近古所有。
因斯以谈,垛积乃近古之学,朱氏[按:朱世杰]其开山之祖。惟朱氏言垛专指形数[按:即英文中的figurate numbers]
(i,p正整数),即李氏[按:李善兰]所谓三角p乘垛(p≥0,p=0曰元垛)者是也。"垛积"之"积"字作"和"字解,相当于求和算子∑。形数可视为数论函数以p为变量者,其为垛积,以其适合下列函数方程式[按:容易看出,这个等式本质上就是朱世杰恒等式(8)的改写。p乘垛中的字母p,来自英文power的首字母。):
易言之,垛积仍为垛,三角p乘垛积为三角p+1乘垛。朱氏深通其义,可于其垛积命名之以"更落一形"相当于求和算子∑见之。
注:类似的,“不积跬步无以至千里”、“积劳成疾”中的“积”也是累积的意思,也就是相加。
为使得这一解读现代化,我们插入近代的一个故事,它本身也是极有趣味的。
故事的主人公是普林斯顿大学数学教授、2014年菲尔兹奖得主巴尔加瓦
(Manjul Bhargava),他曾回忆起儿时的一段数学经历【7】:
我一直喜欢数学。儿时我喜欢形状和数字。我最早的数学记忆来自于8岁时将
橙子堆成金字塔形状(专门用于榨汁机!)的事。我想知道,堆出最低层每边有n个橙子的一个金字塔,一共需要多少个橙子?我思考了很久,最终确定答案是
.
Manjul Bhargava
容易看出,巴尔加瓦童年所发现的这个公式正是沈括-杨辉公式(7),杨辉称之为三角垛求和公式,这从巴尔加瓦的叙述很容易看出理由来(这里的金字塔是横截面为正三角形的金字塔,也就是正四面体)。
7. 朱世杰招差公式
7.1. 表述
朱世杰不仅解决了垛积数(即二项式系数,或组合数)的求和,而且解决了一般的p阶等差数列的求和。朱世杰发现的下述结果,体现了组合数在高阶等差数列的中的特殊地位(用线性代数的语言,相当于说,它们构成一组基,而且是自然基)。
定理3(朱世杰招差公式):设f(n)是p阶等差数列,则它可以写成
的线性组合:
其中各个系数
历史注记1:朱世杰虽然只陈述了p=4的情况,但根据他对公式的文字陈述与举例,完全可以认为,他掌握了一般的结果。定理3后来被牛顿(Newton)重新发现,并出现在其1687年出版的名著《自然哲学之数学原理》中,因此西方通常称之为牛顿插值公式。也许更恰当的称谓是朱世杰-牛顿差分公式。
由此可以立即推出定理1的必要性部分,因为各个组合数
显然都是n的k次多项式。
7.2 证明
定理3的一个古典的算法证明可见陈景润《组合数学》【5】,那里给出一个称作"差分表"的方法来确定各阶差分。这里我们给出一个现代的抽象证明。
一个基本的观察是,在形式上,朱世杰招差公式(定理3)让我们想起牛顿的二项式展开。事实上,正如我们立即就要指出的,定理3不过是算子水平上的二项式展开。
证明:引入作用于数列的右平移算子T: f →Tf,其中Tf 定义为:
我们立即看出
其中 I 是恒等算子.
于是对任意的正整数m,有下述二项式展开
将等式两边作用于数列 f, 就有
在n=0取值(注意到,根据定义有,T^m f(n)=f(n+m),从而 T^m f(0)=f(m))就有
注意,到目前为止,上面的推导都没有对数列f做任何假定。现在我们假定f是p阶等差数列,则根据定义,当k>p时,有
, 从而(15)式右边至多有前p+1项,即:
将m换为n,并将各系数
前置,我们就得到朱世杰的招差公式(11)。
7.3 示例
根据定义,为求出朱世杰招差公式中的各个系数
p+1个点n=0,1,…,p的函数值f(0),f(1),…,f(p)即可,接下来的只需依次招差(即求差分)。现在我们就来示范一下如何招差。
例1:先看二次多项式f(n)=n^2。根据朱世杰招差公式,
我们只要求出三个系数
显然,最容易的是
次容易的是
为求出
从而
于是我们得到
即
例2:对f(n)=n^4招差。
我们把差分表写成一个易于排版的格式(注意:最终公式中需要的数据分布在第一列):
于是根据朱世杰招差公式,即可得到
出于立即就会明白的理由,这里我们不再对右边的表达式化简了(事实上按照我们的观点,这就是最自然的表达了)。
注:当然,也可以用待定系数法通过解线性方程组来确定朱世杰招差公式中的各个系数,但那就没有充分运用整个公式的涵义。要强调,这里所给出的,是一个直接的算法。
8. 高阶等差数列的求和:招差垛积术
8.1 招差垛积术
有了定理3和定理2,高阶等差数列的求和就变成了一个平凡的问题。由于定理3体现的是招差术,定理2体现的是垛积术,所以联合运用这两个定理对高阶等差数列求和的方法就称之为"招差垛积术"。请注意,术,在这里是方法,更有程序(算法)的意思,见没有定理的中国古代数学,如何站在世界之巅
8.2举例
作为两个现成的例子,我们继续考虑前面的例1和例2。
例1(续):前n个正整数的平方的求和。
这就是阿基米得的公式(2)。
例2(续):前n个正整数的4次方的求和。
8.3 本质
其实这方法(招差垛积术)就是俗称的"裂项求和法"。招差即裂项,其本质就在于将通项f(n)写为一个新的数列("原数列")F(n)的差分,垛积即求和,将保证中间各项正负抵消,然后只剩首尾相减的两项。
我们以朱世杰的求和等式(9)来说明这一点。注意到杨辉恒等式本质上等价于
下述基本的差分关系式:
也就是说,求和等式(9)中的通项可以裂项,
自然求和就成平凡的了。
利用求和的线性性质,用招差垛积术可以解决任意的高阶等差数列的求和;特别的,可以对任意的正整数p,求出n^p的前n项之和。奇怪的是,原本元代的朱世杰来做这个工作是水到渠成的,可实际上,他没有做,而把这个原本只是举手之劳的问题留给了清代的李善兰。我们将在后面介绍李善兰的这一工作。
在此之前,我们先停下来从另一个角度观察一下这个巧妙的求和办法。
8.4 与Newton-Leibniz公式的类比
招差垛积的本质,就在于将通项f(n)写为一个新的数列("原数列",即"招差")F(n)的差分, 这样的话,求和将保证中间项抵消,然后只剩首尾相减的两项。
这个方法可以浓缩成一个简单的公式
这也许会让你想起微积分的基本定理,即Newton-Leibniz公式,我们把它写成下述形式
这两个公式非常相似:数列F(n)(变量n取值于离散的自然数集)对应于函数F(x)(变量x取值于实数连续统),求和对应于求定积分。在微积分的情况,为了求出一个函数f(x)在某区间上的定积分,我们先求出它的一个"原函数"F(x),于是可以根据Newton-Leibniz公式得到, 在某个区间上的定积分的值,恰好就是 在该区间的两个端点的函数值之差。可以期待,如果我们以这种类比的方式来介绍微积分基本定理,必定有助于学生把握微积分、特别是Newton-Leibniz公式的精髓。
随着貌合且神似的(20)与(21)的一同出现,离散与连续之类比的冰山一角也浮出水面,我们将在续篇中详细展开。
10. 思考题
朱世杰的成就曾经被金庸写进武侠小说。在《射雕英雄传》第29回"黑沼隐女"中,金庸描写了一个执着于算学的奇怪女侠瑛姑(一灯大师的爱妃、周伯通的心上人)。与其称号"神算子"名不副实,瑛姑的数学水平实在让人大跌眼镜。一个简单的九宫格,她竟以为是独创的难题,足以独行天下。
蒙友人吴帆告知,瑛姑是为了营救困在桃花岛上的情人周伯通而自修历算之学,因为跟黄药师(桃花岛岛主)比武功她自认为没有胜算,就比拼语文数学等文化课。遗憾的是,她半路出家全靠辛苦自学,平时又不关注 好玩的数学,结果一叶障目不见泰山,成了坐井观天的数学盲!由此可引出一个重要教训(本人得到,想必大多数人也会认同的)是:列位爱卿,为避免沦为像神算子瑛姑这样可怜的数学盲,务必关注好玩的数学,尤其是鄙人的文章!
相比而言,黄蓉(请注意,她老爹是东邪黄药师)的数学就要高明得多。在小说原著中,黄蓉临走时给瑛姑出了三道难题(在电视剧中只提了一道,而且是改编之后的第三道,见上述链接):
黄蓉气极,正欲反唇相讥,一转念间,扶着郭靖站起身来,用竹棒在沙地上写了三道算题:
第一道是包括日、月、水、火、木、金、土、罗、计都的"七曜九执天竺笔算";
第二道是"立方招兵支银给米题":
第三道是"鬼谷算题":"今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?"
第三道题最著名,涉及数论中著名的中国剩余定理,对它的一个优美介绍可见蔡老师的文章【4】,也可参见:从射雕到九章——在天大理学院物理系的通俗报告。
第二道题"立方招兵支银给米题"就与高阶等差数列的求和有关,原题出自朱世杰《四元玉鉴》(以下给出最简单的版本,只涉及"招兵"而不论"支银给米"):
今有官司依立方招兵,初招方面三尺,次招方面转多一尺。已招二万三千四百人。问来几日?
翻译成白话文如下(参考了郭书春老师的翻译,见【21】第454页):
今有官府要按立方数招兵,第一日招兵3^3人,次日招兵4^3 人,如此等等。已招兵23400人。问:一共招兵多少天?
留给有兴趣的读者思考(提示,一个简单的解法可以用(5))。
致谢:作者感谢内蒙古工业大学数学系崔继峰教授和本刊审稿老师对作者就初稿提出了许多有价值的建议。
参考文献
【1】N. Bourbaki, Elements of Mathematics: Functions of one Real Variable,Elementary Theory, Translated by Philip Spain. Springer-Verlag, Berlin, 2004.
【2】蔡聪明,微积分与差和分大意\raisebox{0.5mm}{------}连续与离散之间的类推,《数学传播》第2卷(1977年)第2期,34-39。
【3】蔡聪明,Leibniz 如何想出微积分?《数学传播》第18卷(1992年)第3期,1-14。
【4】蔡聪明,谈韩信点兵问题,《科学月刊》第29卷()第9期,。电子版可见数学知识网页:http://episte.math.ntu.edu.tw/
【5】陈景润,《组合数学》,哈尔滨工业大学出版社,2012~年。
【6】程贞一, 我的人生经历与学术生涯\raisebox{0.5mm}{------}程贞一教授访谈录,郭金海《自然科学史研究》第34卷(2015年)第3期,370-395.
【7】M. Cook, Mathematicians: An outer view of the inner world,
Princeton University Press, 2009. 中译本《当代大数学家画传》,林开亮等译,上海世纪出版集团,2015年。
【8】 V. S. Retakh and A. B. Sosinsky,
A talk with I. M. Gelfand: A student and teacher followed his own interests and instincts", 发表于~\emph{Quantum},(Jan-Feb 1989), 电子版见http://israelmgelfand.com/talks/quantum$\underline{\quad}$interview.pdf. 有中译文,《数学译林》1990年第4期,李锟译,340-347.
【9】 Ronald Graham, Donald Knuth, and Oren Patashnik, Concrete Mathematics (Second ed.). Reading, MA: Addison-Wesley Professional. 1994. 中译本《具体数学》,张明尧、张凡译,人民邮电出版社,2013~年。
【10】华罗庚,高阶等差级数,《数学通报》1956~年第~8~期,1-2.
【11】华罗庚,《从杨辉三角谈起》,科学出版社,1956年,2002年列入 "数学小丛书"重印。
【12】黄祖宾,走进吴文俊院士,黄祖宾问,吴文俊答,《广西民族学院学报》2004~年第~4~期,2-5.
【13】F. Klein,《高观点下的初等数学(第一卷):算术、代数、分析》
,舒湘芹、陈义章、杨钦梁译,台北,九章出版社,1996年;上海,复旦大学出版社,2008年。
【14】D. E. Knuth, Twenty Questions for Donald Knuth,http://www.informit.com/articles/article.aspx?p=2213858. 中译文,问高德纳的二十个问题,周明译,《中国计算机学会通讯》第10卷(2014年)第8期,64-73.
【15】罗见今,自然数幂和公式的发展,《高等数学研究》,2004年第4期,56-61.
【16】钱宝琮,《中国数学史》,科学出版社,1964年。
【17】王渝生,李善兰的垛积术研究及翻译工作,收入"数学与人文"丛书第十八辑《数学的应用》,丘成桐等主编,高等教育出版社,2015~年。
【18】吴文俊,《数学与科学史丛书》总序,《西北大学学报(自然科学版)》,2006年第2期,344.
【19】章用,垛积比类疏证,《科学》,第23卷(1939年)第11期,647-663.
【20】钟开莱,数学与应用,施谷译,《自然杂志》第~11~卷(1988年)第9期,643-646.
【21】朱世杰,《四元玉鉴》,郭书春译,辽宁教育出版社,2006年。