作者註:本文基於作者參加《知識就是力量》雜誌社主辦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次,這就得到所謂的p階差分算子,
由此立即可得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階等差數列,則它可以寫成
的線性組合:
其中各個係數恰好是f的k階差分 在n=0的取值。
歷史註記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 示例
根據定義,為求出朱世傑招差公式中的各個係數,只需要知道f在
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年。