羅見今
(內蒙古師范大學 科學技術史研究院,內蒙古 呼和浩特010022)
因數學發(fā)展的需要,數學史家、數學家和數學教師對中算史的認識和應用各有側重,將歷史的研究同現(xiàn)代發(fā)展聯(lián)系起來不乏成功的先例:吳文俊先生發(fā)掘宋元數學、揭示數學機械化的內涵,應用于機器證明,是古為今用的典范,彰顯出數學史研究的目的。本文舉出中算史8個例子,說明后人從區(qū)組設計和組合計數如何認識、應用和發(fā)展這些傳統(tǒng)題材。
20世紀60年代以來興起的組合數學(combinatorial mathematics,combinatorics),是伴隨計算機科學而發(fā)展的現(xiàn)代數學分支,當年有影響的《組合數學》(1962)在介紹書名時寫道:“這是一門起源于古代的數學學科。據傳說中國皇帝禹(約公元前2200年)在一個神龜的背上觀察到縱橫圖?!保?]圖1所示的數字方陣為“洛書”,即三階幻方。洛書成為現(xiàn)代組合數學起源的標志,在國際上得到公認。
圖1 洛書Fig.1 Luoshu
幻方的一種實數類比稱為雙隨機矩陣,應用它可以找出達到最佳經濟效益的多因素配置方案?,F(xiàn)代對幻方的研究,有奇數幻方、素數幻方、級數幻方、雙重幻方(不僅行、列、對角線的和一定,而且它們的積也一定)[2]、復數幻方、優(yōu)美幻方等等,還向三維發(fā)展,討論幻體的構造[3]。國際上對幻方功能、富蘭克林幻方等都有研究。
歐洲中世紀將撲克牌中A、K、Q、J四種16張牌排列成方形,使得每橫行、每縱列均包含這四種牌,這種方陣即拉丁方。其實這種排法至遲戰(zhàn)國時就出現(xiàn)在玄戈占星表上[4](圖2)。
圖2 玄戈占星表構成一個四階拉丁方Fig.2 Xuange astrology table forms a fourth order Latin square
在組合數學的基本內容區(qū)組設計(block design,BD)中,正交拉丁方成為西方的興趣點之一,例如1960年構造出高階正交拉丁方,歐拉關于三十六軍官問題的猜想不成立①,轟動一時。而幻方研究一般卻歸于代數學[5-6]。
幻方構造在中國既是一個古老的神秘課題,又是一個現(xiàn)代的研究對象[7-8],有較多論著[9]。但一般未從組合數學BD的角度提出和解決問題。其實幻方與拉丁方有密切聯(lián)系。新近的研究表明,可通過構造兩正交6m+3階拉丁方,將其組合而獲得6m+3階全對稱幻方,說明幻方與正交拉丁方存在內在聯(lián)系,幻方能夠成為BD研究的一個新領域。
邵雍六十四卦方位圖(圖3)中,方圖的排序在諸本易卦中獨樹一幟,各卦彰顯出數字性質。孫小禮[10]等學者的論文提到萊布尼茲(G.W.Leibniz,1646—1716)在《二進算術》(1679)中建立了二進制的表示及運算,1703年他給法國科學院提交“關于僅用0與1兩個符號的二進制算術的說明,并附其應用以及據此解釋古代中國伏羲圖的探討”。萊布尼茲將陰爻和陽爻與0和1對等,是發(fā)現(xiàn)這種對等關系的第一人。如果應用數學方法分析易卦的卦序,以此為切入點,用二進制的視角去研究易卦的性質,這正是萊布尼茲方法的要點。要透徹認識易經,二進制數學是一有力的工具。
圖3 伏羲六十四卦方位圖Fig.3 Fu Xi’s sixty-four hexagrams position map
現(xiàn)將邵雍所繪伏羲六十四卦方位圖(圖3)中的方圖按逆時針方向旋轉135°,得到一個菱形圖(圖4):63乾在上,0坤在下,左07為否,右56為泰。垂直的乾坤軸與水平的否泰軸相交于菱圖的中心。然后按萊布尼茲二進制,算出各卦位的卦值。如:
圖4 邵雍先天圖的中心方圖Fig.4 The central square of Shao Yong’s congenital chart
今本周易的卦位、卦名、卦值依序為:1乾63,2坤0,3屯34,4蒙17,…,64未濟21。菱圖中在63的位置填入1,在0的位置填入2,…,在21的位置填入64。然后將1—2,3—4,…,63—64連接起來,得到周易卦序的結構圖(圖5),本文稱其為邵雍先天二進卦值菱圖(簡稱菱圖)。
菱圖具有三種基本置換和對應,每種都決定了一個二元組(或有序對)。分析會發(fā)現(xiàn)圖5的映射和對應關系,例如隨38?25蠱隨38?52歸妹隨38?11漸離45?18坎益35?28恒;等等。這說明乾坤軸與否泰軸的對等性。用二進卦值表示的邵雍先天菱圖具有許多明顯的數學性質,用細線將上述三種對應連接起來,就構成直觀的、對稱的幾何圖像;對縱、橫、斜線兩端的數字分別做四則運算,能得到許多相仿而有趣的結果,此不詳論。于是,今本周易卦序結構的真相完整地展現(xiàn)在世人面前[11]。周易的卦序呈現(xiàn)出優(yōu)美的對稱性和完備的均衡性,全部有序對勾畫出卦序的結構,展示了深奧的易理意境和高超的構造方法。因此可以提出“易經卦序結構”的概念。卦序可以轉換為形象的對稱結構意味著什么?這給易理研究提出一個新課題。
圖5 周易卦序的對稱結構圖Fig.5 Symmetrical structure diagram of hexagram order in the Change Book
1923年錢寶琮“朱世杰垛積術廣義”[12]將《四元玉鑒》中一個垛積恒等式推廣,表述成現(xiàn)代形式——卷積型組合恒等式,后來形成了現(xiàn)代計數組合論中使用的術語“the Chu-Vandermonde formula”,即“朱世杰-范德蒙公式”,它是組合計數論的一個基本公式。
朱世杰《四元玉鑒》“茭草形段”第4題給出的關系利用組合與求和符號可表示為
而《四元玉鑒》“果垛疊藏”第6題可表示為
將上兩式推廣,獲得
現(xiàn)代科學史學科的奠基人、科學史家喬治·薩頓(G.Sarton)在他的名著《科學史導論》[13]中將錢先生總結的這一公式介紹到西方,1955年李約瑟的《中國的科學與文明》[14]第3卷數學中也引用了這一結果,西方數學家通過這一傳播渠道了解到朱世杰的工作。
算法和程序設計技術的先驅者、美國斯坦福大學教授克努特(Donald E.Knuth,中文名高德納)在其榮獲圖靈獎的名著《計算機程序設計藝術》[15]中,第59頁講“the Chu-Vandermonde formula”,指明朱世杰的組合公式在先,在第70頁還留了一道題目,要求證明“朱-范公式”。在國際組合數學界,“朱-范公式”已成為一個基本公式。
徐利治介紹朱-范公式的現(xiàn)代發(fā)展[16],其中有他和美國高爾德(H.W.Gould)的成果。二百多年來,朱-范公式已有Rothe(1793),Gauss,Hagen(1891),Gould(1956),Handa和Mohanty(1969)等人的多種擴充,應用甚廣。從歷史上看,德國數學家高斯(Karl Friedrich Gauss,1777—1855)研究超比例級數時曾將類似的卷積關系推廣到復數的情形[17],被稱為“Gauss-Vandermonde”公式。Rothe-Hagen-Gould的卷積型恒等式可寫成[18-19]
其中,Hagen的恒等式為[20]
有多種卷積公式均可由朱-范公式推廣而獲得,此不一一列舉和證明。注意到組合數學界感興趣的事實——歷來公認為Rothe-Hagen-Gould卷積型恒等式是朱-范公式的“非平凡推廣”(non-trivial extension),這里有必要說明,只需利用Hsu-Gould inversion[21](徐利治-高爾德反演)公式,即可證明(4)式可由朱-范公式推證。說明(4)式實質上仍與原始的朱-范公式等價,詳見文獻[18,21]。
在古代數學書中數學游戲雖不見記載,但一些特殊的游戲確實包含了深奧的數學內容。我國民間流傳一種二人數學游戲,其規(guī)則如下:有k堆物件,每堆物件數量不同,兩人輪流從中拿取,每次只能在其中一堆中至少取一個,至多取一堆,最后誰取完誰勝(或負)。k=3時北方叫作“抓三堆”;南方叫“擰法”或“翻攤”;國外稱為Chinese game of Nim[22]、simple game of Nim或Fan Tan[23],表明這種游戲源于中國。Nim游戲從古代流傳至今,閃耀著先人智慧之光,現(xiàn)已遍及世界,引起了數學界的興趣和重視。
Nim作為數學游戲的名稱,在西方不遲于15世紀。美國人弗蘭克爾(A.S.Frankel)認為Nim是世界上最古老的游戲,它起源于幾千年前的東方[24]。穆爾(E.H.Moore)提出了一種p階Nim,成為圖論Nim型對策第三定理的主要例子[23]。
可利用求布爾和來尋找Nim的制勝方法如下:將三堆的數目例如11,22,29,用二進制表示出來(圖6),規(guī)定一種特殊的加法,即1加1為0,1加0為l,0加0仍為0。叫“點加”或“模2加”,加出來的和叫作“點和”或“布爾和”,這種加法在研究群、環(huán)、域的近世代數或邏輯代數中很有用。
圖6 二進制數字的加法Fig.6 Addition of binary numbers
如果規(guī)定誰取最后1個誰輸,那么甲方取出的數字一定要保證所余三堆數字的布爾和為0,輪到乙方來取時,無論他取出多少,只要甲方步步不錯(即布爾和總保持為0),等待乙方的必然是取最后1個,失敗。
百年來隨著數論、近世代數、邏輯代數、特別是對策論、圖論和組合數學的發(fā)展,當用新的眼光觀察Nim時,它作為一種數學模型,又給人以新的啟示。于是Nim升格為一個新的數學名詞,開始在數學論文和專著中出現(xiàn)。
在圖論中Nim受到重視。法國貝爾熱(C.Berge)在《圖論及其應用》(The Theory of Graphs and its Applications,1962)中開辟第六章介紹“在一個圖上的對策”,主要就是定義“Nim型對策”,這里的對策,即游戲或博弈(game)。這個圖不能有由首尾相接的有向邊所組成的圈,不然游戲就有可能無限進行下去。經過嚴格定義的Nim型對策,揭示了Nim的特性,擴展了Nim的外延,使得一些圖的游戲、撲克游戲、數字游戲等都歸于這一類?!白ト选盢im就成為一特例。從Nim型對策還可引出四個定理,能夠保證制勝的結局,此不贅言。
Nim制勝方案如表1,可視為Nim三元系。拓展的研究表明[25]:與斯坦納三元系相同。限于篇幅,這里不再對斯坦納(J.Steiner,1796—1863)三元系進行說明。Nim制勝方案變成了一個區(qū)組設計的結果。特別有趣的是,它恰為科克曼(T.P.Kirkman,1806—1895)在1851年所給出的著名的“十五個女學生問題”的排列方案(只是區(qū)組順序有別)。這當然不僅僅是巧合,中國古代Nim包含有深奧的數學道理,在組合數學中具有基本的重要性,其規(guī)則的簡明性與內涵的深刻性互為表里,自相輝映。
表1 “抓三堆”Nim制勝方案Tab.1 Nim winning plan
王文素(1465?—?),字尚彬,山西汾州(今汾陽市)人,明代數學家,1524年完成巨著《新集通證古今算學寶鑒》12本42卷,近50萬字,所惜當時未能出版。民國年間由北京圖書館于舊書肆中發(fā)現(xiàn)一藍格抄本,收購入藏。1993年,王文素《算學寶鑒》抄本影印版由《中國科學技術典籍通匯·數學卷》[26]刊出。2008年,《算學寶鑒校注》[27]由科學出版社出版,標志著對王文素的研究進入一個新階段。
《算學寶鑒》中有一問題“三同六變”(圖7):“假令二十四老人,長者壽高一百,次者遞減一歲,止于七十七。共積總壽二千一百二十有四。卜①卜,占卜。用占卜的方法確定聚會的地址。會三社,八老相令(會)七百八歲,蓋因人情逸順,散而復令(會),更換六次,其積仍均七百有八,此見連用之道。”
該題意即:有m=2nk=24位老人聚會,年齡從100歲到77歲,依次相差1歲,共2 124歲。2k=8人分到一“社”(組,S),共有n=3組,每組年齡和皆p=708歲;3組為一變局(T)。問能編成多少不同組(S)?能構成多少相異局(T)?
他給出的6種答案繪在圖7中,最后他說道:“其變尤多,不及備載”,明確指出求變局之數很難,這就提出了“王文素問題”,須找出共有多少種方案。
圖7 王文素《算學寶鑒》“三同六變”圖文Fig.7 The diagram and text of“Three sames and six changes”in Wang Wensu’s Suan Xue Bao Jian
這是一種復雜約束條件下的組合問題,李培業(yè)[28]②“李珍”是李培業(yè)署名。較早認識到它的組合性質。筆者認為,“王文素問題”可分為三類子問題:連續(xù)數組、偶數組和奇數組問題(不詳論),運用組合方法,可以得到[29]:
組(1):{78,80,82,88,90,94,96,100};組(10):{78,82,84,86,90,92,96,100};
組(2):{78,80,84,88,90,92,96,100};組(11):{78,80,84,86,90,94,96,100};
組(3):{78,82,84,88,90,92,94,100};組(12):{78,80,82,86,92,94,96,100};
組(4):{78,80,82,84,92,94,98,100};組(13):{80,82,84,88,90,92,94,98};
組(5):{78,80,82,86,90,94,98,100};組(14):{78,82,84,88,90,92,96,98};
組(6):{78,80,84,86,90,92,98,100};組(15):{78,80,84,88,90,94,96,98};
組(7):{78,80,86,88,90,92,96,98};組(16):{80,82,84,86,90,92,96,98};
組(8):{78,82,86,88,90,92,94,98};組(17):{78,82,84,86,90,94,96,98};
組(9):{80,82,86,88,90,92,94,96};組(18):{78,80,84,86,92,94,96,98}。當然這不是全部,還可以找到許多連續(xù)數組和奇數組。
王文素問題產生于500年前,把一個派生能力很強的數學問題大眾化,使之普及,可推衍出形形色色的問題,極具生活情趣,可以使用集合論、計數組合學和設計的方法來解決。
數學史上不乏一些著名組合問題,如約瑟問題、科克曼女生問題、夫婦入座問題等,女生問題也并非一開始就變成了世界著名難題[30],而是在百余年的認識過程中逐步形成,它與王文素問題形式相似,條件不同,解法相異。王文素問題涉及連續(xù)自然數在不同約束條件下適當配置,聚為一些等值數組,構成若干相異數局,屬于在組合計數基礎上的區(qū)組設計。
卡塔蘭(E.C.Catalan,1814—1894)1838年提出了Cn,后來被稱為卡塔蘭數(Catalan numbers)[31],Cn的定義式為
n≤10的數列如下:1,1,2,5,14,42,132,429,1430,4862,…。
1758—1759年間,數學家歐拉(L.Euler)公布了對n<23的正確的Cn值[32],還給出了表示Cn+2的公式。畢納特(J.Binet)1839年獲得了Cn的生成函數[33],卡塔蘭數有兩個遞推公式,在基礎論著《組合學導引》[34]中有詳細介紹,即
卡塔蘭序列至少有50種組合解釋,應用廣泛,已成為與斐波那契數(Fibonacci numbers)、斯特靈數(Stirling numbers)類似的一個基本計數函數。在世界數學史上,第一個提出卡塔蘭數并有大量研究和應用的,卻是清代蒙古族科學家、欽天監(jiān)監(jiān)正(國家天文臺臺長)明安圖(1692?—1763?)。他在《割圜密率捷法》(1839)第三卷(原稿1730年代撰成)中給出
這是一個數學界未知的公式。在計算中明安圖應用了式(3),他并得到:(|α|<π/2),
筆者1988年在《內蒙古大學學報》上發(fā)表《明安圖是卡塔蘭數的首創(chuàng)者》[35]。算法和程序設計技術的先驅者、斯坦福大學Donald E.Knuth(克努特,中文名高德納)教授在獲圖靈獎的名著《計算機程序設計藝術》中,論述了圖論中trees樹的概念,專辟一節(jié)回顧卡塔蘭數的歷史。其中“中國蒙古族數學家明安圖1750年前在研究無窮級數時算出了卡塔蘭數,但他沒有將其同樹或別的組合對象聯(lián)系起來”[36],引用了筆者1988年的論文。
英國德爾比大學的拉坎布(P.J.Larcombe)博士在此基礎上,2001年發(fā)表《論卡塔蘭序列生成函數:一個歷史的透視》[37],指出明安圖的方法是一種生成函數法,并證明了該法的正確性。拉坎布研究明安圖所創(chuàng)卡塔蘭數共發(fā)表了12篇相關論文。
明安圖的成果與卡塔蘭數西方早期研究相比,具有獨辟蹊徑的特點,即令對今天的學者來說,也是十分新奇的。由于明安圖是卡塔蘭數的首創(chuàng)者,早于卡塔蘭約100年,李文林教授主張,Cn應當稱為“明安圖-卡塔蘭數”。
正切數T(ntangent number)和歐拉數E(nEuler number)是兩種重要計數函數,也是特殊函數和遞歸函數。西方對正切數的研究1857年開始,遠不及對歐拉數的認識[38]。
戴煦(1805—1860),字鄂士,浙江錢塘(今杭州市)人,晚清著名數學家。1852年在《外切密率》[39]第四卷中使用具有特色的遞歸方法,同時獲得現(xiàn)今所說的正切數和歐拉數的遞推公式(略),成績斐然。他算出前十個正切數(圖8):
圖8 戴煦求得的正切數表Fig.8 Table of tangent numbers obtainedby Dai Xu
T1=1(原著未列);T2=2(第一乘法);
T3=16(第二乘法);T4=272(第三乘法);
T5=7936(第四乘法);T6=353792(第五乘法);
T7=22368256(第六乘法);T8=1903757312(第七乘法);
T9=209865342976(第八乘法);T10=29088885112832(第九乘法)。
他已完全掌握了正切數T n的遞推規(guī)律,得到
戴煦同樣正確地算出了前十個歐拉數(圖略):
E0=1(原著未列);E1=1(第0乘法);
E2=5(第一乘法);E3=61(第二乘法);
E4=1385(第三乘法);E5=50521(第四乘法);
E6=2702765(第五乘法);E7=199360981(第六乘法);
E8=19391512145(第七乘法);E9=2404879675441(第八乘法)。
可知他已完全掌握了歐拉數E n的遞推規(guī)律,從而獲得正割冪級數展開式
經比較,戴煦把T n和E n相提并論,定義酷似,且相補充。他的基本思想是兩者相匹配、相“對稱”。因而在他的原著中,全部論述和結果都保持這種“對稱性”,這與現(xiàn)代數學中將歐拉數同伯努利數(Bernoullinumbers)相提并論的做法是不一樣的。
20世紀西方對正切數的文獻有:Estanave[40](1902)研究tgx、secx展開式系數;Schwartz[41](1931)應用麥克勞林公式展開tgpx;Toscano[42](1936)給出了有關交錯置換和正切數的另一種表述;Entrenger[43](1966)和Knuth,Buckholtz[44](1967)用組合數學計數的觀點,通過歐拉數與伯努利數來研究正切數,后者給出正切數前60個數值。
冪和問題具有悠久的歷史[45],晚清算家亦有不凡貢獻。限于篇幅,這里只提出部分結果。
李善蘭(1811—1882)獨創(chuàng)歐拉數(表2),見于《垛積比類》(1845?)第7表,李氏還給出它的遞歸定義(略)。
表2 歐拉數A n,k(比較《垛積比類》第7表)Tab.2 Eulerian numbers A n,k
《垛積比類》“乘方垛解義”獲得式(13),據“乘方垛求積術”求自然數前m項n次冪和式(14)為
即李善蘭將冪和分解成n類組合之和,每類組合的個數依歐拉數分布。這個冪和公式簡潔優(yōu)美,可求任意次冪和。
夏鸞翔(1823—1864)在《洞方術圖解》“單一起根諸乘方諸較圖”中創(chuàng)“夏氏數”(表3),表出乘方公式(15),繼而獲得自然數前m項的冪和公式(16)為
表3 夏氏數(據單一起根諸乘方諸較圖)Tab.3 Xia Luanxiang’s numbers
表3 夏氏數(據單一起根諸乘方諸較圖)Tab.3 Xia Luanxiang’s numbers
X nk=01234567 k n=0 1 1 1 1 2 1 3 2 3 1 7 126 4 1 15506024 5 1 31180390360120 6 1 63602210033602520720 7 1 1271932102062520031920201605040
即將冪和分解成n+1類組合之和,每類組合的個數依夏氏數分布。運用計數函數求冪和的公式中,如以計算量衡量,該式最簡,迄今仍是佼佼者。
華蘅芳(1833—1902)《積較術》“諸乘方正元積較表”用現(xiàn)今所說的有限差分法提出一種計數函數“華氏數”(表4),給出它的遞推定義式,將它應用于求乘方以及求冪和
李善蘭從垛積術(和分)、華蘅芳從招差術(差分)各自獲得冪和公式,可謂殊途同歸。華氏數具有優(yōu)秀的性質,將它的定義稍作改變,即將表4中的數字取絕對值,針對冪和問題可以建立起“取盒—放球”模型,給它一個全新的組合解釋[46]。
表4 華氏數(據諸乘方正元積較表)Tab.4 Hua Hengfang’s numbers
表4 華氏數(據諸乘方正元積較表)Tab.4 Hua Hengfang’s numbers
hnk=012345678 k n=0 1 1 0 1 2 0-12 3 0 1-66 4 0-114-3624 5 0 1-30150-240120 6 0-162-5401560-1800720 7 0 1-1261806-840016800-151205040 8 0-1254-579640824-126000191520-14112040320
冪和問題極富趣味性和挑戰(zhàn)性,形成一個專題、一種文化。數學家和愛好者構造各種數論函數孜孜以求,公式的簡明性和算法復雜性可一較高下。李善蘭、夏鸞翔、華蘅芳的結果具有類似而不同的結構,形式簡潔優(yōu)美,對計數組合論發(fā)展的貢獻深遠。
Sum of power of integer這樣一個具有魅惑力的問題不乏現(xiàn)代興趣,吸引著一些數學家。筆者查閱,僅從1968年 到1980年 ,J.Riordan[47]、J.L.Paul[48]、S.L.Gupta[49]、M.J.A.Sharkey[50]、H.W.Gould[51]、B.Turner等人提出或用不同方法證明了這一問題或與它相關的、用組合表達的若干公式。迄今互聯(lián)網上仍有不少網頁涉及,盛況空前。
綜上,產生幾點聯(lián)想。
(1)上古河圖洛書、八卦九疇等不符合數學起源的唯生產論,曾被斥之為迷信。在數學書出現(xiàn)之前,音樂、占卜、游戲中內涵潛在的數學,體現(xiàn)排列、配置、排序、對稱、集合、映射、對應等的應用,研究商周數學思想無法回避,應當予以正視。
(2)中算以計數見長,長期保持算法傾向、離散性、寓理于算、程序性、機械化的特征。400年前當西方已進入微積分時代,中算卻跌入低潮,停留在離散數學早期,未能進入連續(xù)數學時代。當然并非一無是處,在計數理論中還有一些閃光點。
(3)數學原理在本質上保持一致,算法途徑古今中外總有差別,因此,東西方對某一對象采用不同數學方法卻獲得類似的結果,可謂殊途同歸,在這一問題上各有千秋。因處于不同歷史發(fā)展階段,如用單一坐標予以高下之分,似有“輝格”之嫌。
(4)數學史在數學中的位置決定了它自身的發(fā)展目標,因此它不會淪為隨意拈來使用的工具。基本史實不可動搖。值得慶幸的是,在大數據時代,人們可以從不同的途徑獲取真相的各個方面,有可能揭示出被遺忘的成就,從而對歷史有一較全面的認識。