明清時期的筆記中,透露了哪些數學內容?_風聞
返朴-返朴官方账号-关注返朴(ID:fanpu2019),阅读更多!07-14 11:06
在明清時期的筆記文獻中,記載了很多可用現代數學解釋的內容,或為工程所用,或為遊戲娛樂,展現了古人的智慧。
撰文 | 劉鈍
卷帙浩繁的中國古代筆記中含有豐富的科學史料。本文從明清筆記中披檢出的一些材料,涉及了數學中的某些思想、原則或方法。從現代數學的視角來考察、分析這些史料,將有益於拓寬中國數學史研究的視野,特別是將有益於揭示數學的發展與社會文化背景的關係。
報恩塔與標準化思想
標準化應屬於現代管理科學的範疇,但是它的具體操作往往與計算方法、數理統計、誤差分析等數學分支相關。標準化的思想在中國肈源甚古,《考工記》《營造方式》《天工開物》等工藝技術經典為一代代工匠提供了製作規範,明末張岱(1597-1679)《陶庵夢憶》所記金陵(今南京)報恩塔的掌故,則提供了在建築上利用標準化思想的有趣例子:
“報恩塔成於永樂初年,非成祖開國之精神,開國之物力,開國之功令,但膽智才略足以吞吐此塔者,不能成焉。塔上下金剛佛像千百億金身。一金身,琉璃磚十數塊湊成之,其衣褶不爽分,其面目不爽毫,其鬚眉不爽忽,鬥筍合縫,信屬鬼工。聞燒成時,具三塔相,成其一,埋其二,編號識之。今塔上損磚一塊,以字號報工部,發一磚補之,如生成焉。”(張岱:《陶庵夢憶》,卷一,上海古籍出版社,1982年版,第2頁。)
“成其一,埋其二,編號識之。”在這樣大型的磚瓦建築中應用標準化思想,我們不能不對設計者的獨具匠心表示欽佩。
被張岱稱為“中國之大古董,永樂之大磁器”的報恩塔,歷經四百五十年風雨,終於清咸豐年間毀於戰亂之中。近來有關部門在該塔原址發掘出若干殘磚並有意恢復這一古蹟的原貌,不知能否證實以上關於“編號識之”的傳聞?又若能找到當年明工部保存的另外兩套磚瓦,報恩塔的復原豈不易如反掌?
移棋相間與鑲符理論
移棋相間大約是興起於明末清初的一種智力遊戲,其規則是:將黑白棋子各n(n≥3)枚,左右分列成一行,每次將相鄰兩子一併移至兩個相鄰空格之中,經若干次移動使棋子變成連續排列的黑白相間形式。清康熙年間褚人獲(1635-1682)的《堅瓠集》對此提供瞭如下記載:
“幼年見友人胡礪之將黑白棋子各三枚左右分列,三移則黑白相間。餘因問曰:‘多亦可移乎?’礪之曰:‘自三以至於十外,皆可移。多一子則多一移。’餘歸試之,自三以致於十果相間不亂。今已三十餘年,偶雨窗複試,忘其大半,因繹數四始得就,恐歲久復忘,作歌以紀之。曰:三子從根起,二三望前移;四子根空一,從根還空位,二三複歸所,未子向前備;五子前後各空一,黑白從中移向前,二三黑白還空位,根頭二子自天然;六子從根各空一,四五二馬向前行,五六二子歸空位,二三黑白望空存;七子從根只空一,二移右起三四行,四子相連從中去,四移右數六七輪,五移鄰子歸空位,二三去兮末子登;八子從根各空一,五六左右交互換,五移六七向前輪,六移七八補缺斷,二三黑白歸空處,就是兒童也不亂;九子從根亦空一,二移左斷四五通,三移六子從中去,四子相連亦去中,五移九十歸空位,右一降兮左一逢;十根空一前補後,三移五六向前通,四移六七歸空位,五移四子去其中,六移九十還歸處,壁鄰二子補其空,八移五六向後去,二三歸空末子逢。”(褚人獲:《堅瓠集》,戊集卷一,柏香書屋石印本。)
文中提到的胡礪之顯然是一個精於此道的行家,他提出的“多一子則多一移“的命題相當於説最少移動步數等於棋子的對數n。褚人獲關於三至十對棋子移動規律的歌訣也是正確的。茲以n=3為例:
但是褚人獲的歌訣僅是一種幫助記憶的手段,其中的步驟往往不夠完整且所用術語有含糊不清之嫌,若非諳熟此道者,恐怕難以順利移動。清末樸學大師俞樾(1821-1907)及其夫人季蘭對此遊戲又作了進一步的研究,他們不但給出了十一至二十對棋子的具體移法,而且提出了記錄移動程序的簡便方式。俞樾在《春在堂隨筆》中寫道:
“長洲褚稼軒《堅瓠集》,有移棋相間法。以黑白各三子,三移,而黑白相間,自三子至十子皆然,多一子則多一移耳。餘試之,良然。而內子季蘭復推廣之,自十一子至二十子。餘恐其久而忘也,因筆之於此。”(俞樾:《春在堂隨筆》,卷一,江蘇人民出版社,1984年,第16頁。)
接着作者筆錄了從三至二十對棋子的移動程序,例如對上述三對棋子的情況,俞樾記為“左一、二,左四、五,左一、二”;“左一、二”表示將左起第一、二兩枚棋子移至右方空位中去(第一步就是移至最右端),“左四、五”表示將左起第四、五兩枚棋子移至右方空位中去,又一個“左一、二”同樣表示將左起第一、二兩枚棋子移至右方空位中去,至此三對棋子已成黑白相間的排列。同理,“右某某”則表示將右數相應兩枚棋子移至左方空位(第一步移至最左端)。茲以n=15為例,移動程序記為:
“左二、三,右十三、十四,左六、七,右九、十,左十二、十三,右五、六,左九、十,右十四、十五,左十五、十六,右十、十一,左十一、十二,右六、七,左五、六,左二、三,右一、二。”(俞樾:《春在堂隨筆》,卷一,江蘇人民出版社,1984年,第17頁。)
早在三十年代初,數學史家李儼(1892-1963)先生就對移棋相間問題產生了興趣,他曾推測這一民間遊戲與八卦或幻方有關,但沒有述及上述史料。同時限於組合數學在當時尚未引起世人充分注意,研究者也不可能對這一問題的數學內涵展開更細緻的討論。近年來有人將移棋問題作了進一步推廣:即將黑、白兩色棋子推廣成多色,將每次移動相鄰兩子推廣為每次移動相鄰P(P可為1)子,並得出了兩色棋子每次“移2”的普遍解法及其最少步數等於棋子對數n的證明(趙繚、李儼:“黑白交錯圖”,《學藝》,第12卷(1932)第10號, 第53-64頁。)。
從現代組合理論上來講,移棋相間問題屬於鑲符理論的範疇,其實質是在某種特定的組合規則之下將一種序列重新組合成另外一種序列,例如將若干個以一維形式存貯於計算機內的數據按照類別重新分別存貯,又如用移位法來編制或破譯密碼,其原理都與移棋相間問題有某種相通之處(胡著信:“鑲符問題的歷史淵源和現代發展”,《中國數學史論文集》(二),山東教育出版社,1986年,第56-64頁。)。這自然是古代文人仕女們始料不及的。
七巧圖與出入相補原理
七巧圖的起源尚無定説,在西方它被稱作“唐圖”(Tangram)。可以確信的是七巧圖及與它類似的拼圖遊戲如燕几圖、蝶幾圖或益智圖,在明清兩代曾於民間廣為流行。清代道鹹年間陸以湉(1801-1865)於《冷廬雜識》中記道:
“宋黃伯思燕几圖,以方几七,長短相參,衍為二十五體,變為六十八名。明嚴澂蝶幾譜,則又變通其制,以勾股之形,作三角相錯形,如蝶翅。其式三,其制六,其數十有三,其變化之式,凡一百有餘。近又有七巧圖,其式五,其數七,其變化之式多至千餘。體物肖形,隨手變幻,蓋遊戲之具,足以排悶破寂,故世俗皆喜為之。”(陸以湉:《冷廬雜識》,卷一,中華書局,1984年版,第60頁。)
七巧圖系由一塊正方形切割為五個小勾股形、一個小正方形和一個小平行四邊形而成,利用這些圖形的拼補移動,可以構成種種奇妙的造型來。它的形制和功能很容易使人聯想起古代數學家證明幾何定理所用的弦圖來,見圖1-2。
利用七巧圖,同樣可以闡述説明若干平面幾何關係,其原理就是古代數學家劉徽、趙爽等人創用的出入相補原理。劉徽《九章算術注》中證明勾股定理的圖示早已亡佚,今日只存如下的簡要註文:
“勾自乘為朱方,股自成為青方,令出入相補,各從其類,因就其餘不移動也。合成弦方之冪,開方除之,即弦也。”(錢寶琮校點:《算經十書》,上冊,中華書局,1963年版,第241頁。)
就下面圖3中的勾股形ABC而言,股方ADBC由兩個較大的勾股形組成,不妨想象它們被塗成青色;勾方CBEF則由其餘的五塊小圖形所拼成,同樣可以想象它們都被塗成赤色,順序將Ⅰ(“青出”)和Ⅱ、Ⅲ、Ⅳ(以上三者為“朱出”),分別移至I’(“青入”)和II’、III’、IV’(以上皆為“朱入”)的位置,於是得到一個大的正方形ABFG,這就是弦方(七巧圖原式)。圖4則是由七巧圖拼成的平行四邊形和梯形,藉助它們也不難驗證這兩類幾何圖形的面積公式(略)。
據此或許可以推測,七巧圖的發明者,如果不是一個數學家,起碼也從類似於出入相補原理這一思想獲得過啓發與靈感。對此,康熙年間的知名學者、通曉數學的劉獻廷(1648-1695)在第一次見到蝶幾圖(圖5)時的震驚之情是頗能説明問題的,他在《廣陽雜記》中寫道:
“十三隻做式圖一冊,宗夏得之蕪湖市者,不知作者何人,發明何事,有圖無書,帷標名像,非我佳人,莫之解也。宗夏留以俟予,予見之而魂驚魄惕,此予曏者意地中固有之局,何斯人之先得我邪?其圖以一平方面,截為十三塊,或長方,或半長方,或鋭角或鈍角;輾轉挪移,互相拼湊,或為圭形,或為磐形,或為屋宇形,或為橋樑形,或為飛燕形,或為舞蝶形,此宇宙之殊形異相,總不出其範方矣。予意取一平圍板,縱橫界畫,如棋罫然,而經緯皆以百分為率,以便算也。然後如其式而截之,增減離合,以度求數,數無遁情矣。若更於大方之外,增四弧矢,如《周禮》衍羨之法,以證圍徑真旨,而方田、少廣諸章,其餘事耳。嗚呼異哉,安得遇斯人而與之談度數之學哉?”(劉獻廷:《廣陽雜記》,卷三,中華書局,1957年版,第116頁。)
生辰命運與抽屜原則
抽屜原則是離散數學中的一個重要工具,其最簡單陳述形式為:若將多於n個的物體放到n個抽屜中去,那末至少存在着一個抽屜,其中有不止一個物體。近世以來,這一原則首先被用來建立嚴格的有理數理論,其後逐漸被應用到不同的數學分支中,在數論、集合論、組合論中尤為重要。
在古代中國,似乎還未曾出現將這一思想概括成一條普遍原則的記載,然而兩部清代筆記中卻隱含着應用這一思想來分析問題的例子。乾隆年間阮葵生(1727-1789)力斥生辰八字之説,其《茶餘客話》中寫道:
“人命八字,共計五十一萬八千四百,天下恆河沙何止於此,富貴貧賤壽夭勢不能同。即以上四刻下四刻論,亦止一百三萬六千八百盡之,天下之人何止千萬,亦不能不同。且以薄海之遙,民物之眾,等差之分,謂一日止生十二種人或二十四種人,豈不厚誣?”(阮葵生:《茶餘客話》,卷十八,光緒十四年(1888)鉛印本。)
蓋以六十甲子紀年紀日,十二干支紀月紀時,其不同的組合總數為60×12×60×12,即518400種;即使將一個時辰分成上、下兩半也不過1036800種。這就是“抽屜”數,而作為“物體”的“天下之人何止千萬”,可見必有八字全同而“富貴貧賤夭壽不能同”者在。這裏正是暗用了抽屜原則。
同書又以兩個實例來説明八字之“厚誣”,其一為“(北宋)蔡京八字丁亥壬寅壬辰辛亥,生慶曆中。後六十年至大觀改元丁亥,東都有鄭氏貸粉者以正月初五日辛亥生,八字與京同,人皆異之。後年十八醉騎馬墜金池死。”其二稱“明英宗八字與布衣沈周、知縣盧鍾皆同。”
咸豐年間又有陳其元(1812-1882)駁斥星佔之説,其《庸閒齋筆記》雲:
“餘最不信星命推步之説,以為一時生一人,一日當生十二人,以歲記之則有四千三百二十人,以一甲子計之止有二十五萬九千二百人而已;今只一大郡以計,其户口之數已不下數十萬人(如咸豐十年杭州府一城八十萬人),則舉天下之大,自王公大人以至小民何啻億萬萬人?則生時同者必不少矣,其間王公大人始生之時必有庶民同時而生者,又何貴賤貧富不同也?”(陳其元:《庸閒齋筆記》,卷七,同治十三年(1874)刊本。)
這裏以十二辰、三百六十日、六十甲子計之,共得“抽屜”數12×360×60,即259200,比當時杭州城的居民數還要少得多,由此可見星命決定貴賤貧富是不可信的(有關這一主題的最早記錄可能見於宋代費袞的《梁溪漫志》卷九之“譚命”條,又見清代錢大昕(1728-1804)《潛研堂文集》。——作者補識)。
臨書桌與透視法
透視學興盛於歐洲文藝復興時代的藝術大師們,它與幾何學有直接的關係。
清代有人評論西畫曰:
“西洋善勾股法,故其繪畫於陰陽遠近,不差錙黍。所畫人物屋樹,皆有日影。其所用顏色與筆,與中華絕異。佈景由闊而狹,以三角量之。畫宮室於牆壁,令人幾欲走進。學者能參用一二,亦具醒法;但筆法全無,雖工亦匠,故不入畫品。”( 鄒一桂:《小山畫譜》,《美術叢書》第二冊,江蘇古籍出版社,1986年版,第527頁。)
作者顯然未見過西畫中的精品,同時他以中國畫的“筆法”去衡量西畫也是荒唐可笑的,然而“以三角量之”、“雖工亦匠”等語,用來形容某些西洋畫家追求極度精確透視效果的作法倒是十分貼切的。
德國畫家丟勒(A.DÜrer, 1741-1528)就曾親自設計製作了數件“繪畫裝置”,圖6即為其中一種:在畫家與景物之間垂直地豎立一塊透明畫板,畫家在一個固定距離處單眼瞄準景物,同時在畫板上描出相應的載景。當然,有成就的藝術家包括丟勒本人都不會用這種呆板的方法去作畫,但是這一裝置直觀地顯示了透視原理在繪畫中的應用,在當時是起了一定作用的。丟勒本人還在其《測量四書》(Four Books on Measurement,1525)一書中加以介紹。
無獨有偶,中國古代也有人設計過類似的裝置,不過不是用來繪畫,而是用來習字。生活於明清之際的學者周亮工(1611-1672)在其《書影》中引黃庭堅(1045-1105)與人貼雲:
“唐臨夫作一臨書桌子,中有抽屜,面兩行許地,抽屜中置燈臨寫摹勒,不失秋毫。”(周亮工:《書影》,卷五,古典文學出版社,1957年版,第133頁。按周亮工所引出自黃庭堅帖《因樹屋書影》。)
唐臨夫是一個人,還是泛指唐代的臨書者,僅以這條材料尚難斷定。可以肯定的是,至遲於北宋年間,就有人發明製作了一件與丟勒的“繪畫裝置”原理全同的臨書桌,以其“向燈取影,以遠近為大小”,這是在藝術領域藉助機械手段獲得透視效果的較早實例。
圓式圍棋與極座標思想
座標的應用獨立並早出於解析幾何。古希臘天文學家為了描述日月星辰的運動而引進了球面座標系統,中國古代地理學家為了繪製地圖引進了平面網絡座標系統。按照我們現今的理解,一種座標系統的有效性有賴於其上的點能與一個數組建立一一對應關係;在這種意義之下,起源於中國的圍棋及其記譜方式也是一種平面網格座標系統。令人感興趣的是,明清之交有人發明了圓式圍棋,周亮工《書影》在摘引了東漢馬融(79-166)的《圍棋賦》後記道:
“近餘集生中丞創為圓棋盤,然其法與方棋盤亦無大異。”(周亮工書
影》,卷四,古典文學出版社,1957年版,第157頁。)
“集生中丞”疑指明萬曆進士陳子壯(1596-1647),陳子壯字集生,明亡後投永明王被封為東閣大學士;周亮工是明崇禎進士,明亡後亦一度南奔,他們兩人是有機緣相識的。至於圓棋盤的形制,筆者揣度由18條經線和10條緯線交織而成(圖7),相鄰兩經線的距離適為10度,而其組成的格點總數亦為361,與方棋盤無異。十分顯然,這種圓式圍棋的記譜法是一種極座標方法。
造屋與水準測量
《周禮·考工記》《史記·夏本記》等古代典籍都提及水準測量,唐宋時代的《太白陰經》《武經總要》《營造法式》更詳細記述了水準儀的構造與使用方法。然而要論造室測平之術,清代道光年間李光庭所撰《鄉言解頤》則提供了更為生動與準確的描述:
“測平之法,於地基四隅壘小牆,中置三尺木錐。錐入地,上有小筍,安長二尺餘木槽,可以隨隅轉移。約寬二寸,以容水,兩頭浮木鴨,謂之水平。一匠持尺墨於隅牆,一匠於水平旁斜倚木杖,隻眼視鴨。復其手,則持尺之匠移下;翻其手,則持尺之匠移上;與鴨平則揮手。而持尺之匠以墨尺畫牆為準,以三隅反而地基平矣。”(李光庭:《鄉言解頤》,卷四,中華書局,1982年版,第57頁。)
“木鴨”即準星,浮於水槽兩頭以確定水平線。槽可“隨隅轉移”,避免了挪動底座帶來的誤差。“以三隅反而地基平”的依據是三點確定一個平面,這在前代文獻中似乎還未曾被提到過。“隻眼視鴨”、“復其手”、“翻其手”等語,則栩栩如生地刻劃了當時工匠定水平的操作細節。
民間歌訣與大衍求一術
大衍求一術萌芽於南北朝時代《孫子算經》之末題,至南宋秦九韶(1202-1261)而蔚然大觀。這一問題流入民間後,先後有“孫子算”“鬼谷算”“隔牆算”“翦管術”“秦王暗點兵”“韓信點兵”等繁多名稱。有些著作還載有解題的歌訣。褚人獲《堅瓠集》所引名稱與歌訣內容尚未被研究者徵引,今轉錄於下:
“《挑燈集異》有隔壁笑訣:三人逢零七十稀(每三作一數,三數之餘,或餘一則作七十,餘二則作一百四十,如無餘不必論),五馬沿盤廿一奇(一作五人折桂廿一枝,每五作一數,五數之餘,或餘一則作廿一,餘二則作四十二,餘仿此),七星約在雲霄裏(每七作一數,七數之餘,或餘一則作十五),一百零五定為除(蓋前後總計積數若干,這一百零五或二百一十即除去,餘所存數即其手中所握之數也。)(褚人獲:《堅瓠集》,戊集卷一,柏香書屋石印本。)
明清筆記浩如煙海,限於學識閲歷,筆者僅僅接觸了其中的一小部分,掛一漏萬所難免,所引材料亦恐有不妥之處,敬希方家一併教正。
本文原載《中國科學技術史料》1989年第10卷第4期,原標題為《若干明清筆記中的數學史料》。
特 別 提 示
1. 進入『返樸』微信公眾號底部菜單“精品專欄“,可查閲不同主題系列科普文章。
2. 『返樸』提供按月檢索文章功能。關注公眾號,回覆四位數組成的年份+月份,如“1903”,可獲取2019年3月的文章索引,以此類推。