中國通史(第七卷) · 第六十一章秦九韶

第一節經歷和為人 秦九韶(1202—約1261),字道古,普州安岳(今屬四川)人,祖籍魯郡。父秦季槱,字宏父,紹熙四年(1193)進士。嘉定十二年(1219),秦季槱任巴州(今四川巴中)守。是年三月,興元(今陝西漢中)軍士張福、莫簡等發動兵變,入川後奪取利州(今廣元)、閬州(今閬中)、果州(今南充)、遂寧(今遂寧)和普州(今安岳),並進犯巴州。秦季槱棄城而走。朝廷命沔州都統張威引兵鎮壓。年僅18歲的秦九韶「在鄉里為義兵首」,參加張威軍的平亂之戰。不久,秦季槱攜全家輾轉抵達當時的京師臨安(今杭州)。嘉定十五年(1222),秦季槱任工部郎中,十七年,除秘書少監。寶慶元年(1225)正月,兼任國史院編修官、實錄院檢討官。工部掌管營建,而秘書省則掌管圖書,其下屬機構設有太史局。因此,天資聰穎、求知若渴的秦九韶有機會閱讀大量典籍,熟悉建築、修造、治河等方面的土木工程知識,並向他父親的屬官中負責測驗天文、考定曆法的學者們學習天文曆法知識。他後來在《數書九章》序中說「早歲侍親中都,因得訪習於太史」,即指這段時間的事。秦九韶又曾向「隱君子」學習數學。他還向著名詞人李劉學習駢驪詩詞。通過這一時期的學習,秦九韶的學識日趨淵博。周密在《癸辛雜識續集》中稱他「性極機巧,星象、音律、算術,以至營造等事,無不精究」,「遊戲、毬、馬、弓、劍,莫不能知」。 寶慶元年(1225)六月,秦季槱被任命為潼川(今四川三台)知府,七月赴任。秦九韶於是隨父回到四川。次年正月十二日,秦氏父子來到涪州(今重慶涪陵),與涪州守李踽及其兩個兒子同游,觀賞長江石魚,並刻石題名,後為姚覲光收入《涪州石魚文字所見錄》,成為一則重要史料。 在潼川,秦九韶曾當過縣尉。這期間,李劉曾邀請他到國史院校勘書籍文獻,但未成行。 端平三年(1236),元兵攻入四川,嘉陵江流域兵禍不斷,秦九韶不得不經常參與軍事活動,飽受戰爭之苦。他後來在《數書九章》序中回憶道:「際時狄患,歷歲遙塞,不自意全於矢石間,嘗險罹憂,荏苒十祀,心槁氣落。」數年後,秦九韶被迫再次離川,往東南避難。先後擔任過蘄州(今湖北蘄春)通判及和州(安徽和縣)守,最後定居湖州(今屬浙江)。有史料記載,秦九韶是個自私、專橫和唯利是圖的人,抑或戰爭改變了他的天性。與他同時代的劉克莊在《繳秦九韶知臨江軍奏狀》中說他「倅蘄妄作,幾激軍變;守和販鹺,抑賣於民」。周密說他「既出東南,多交豪富」;在湖州的住家,建堂於苕水之上,「極其宏敞,後為列屋以處秀姬,管弦、制樂、度曲,皆極精妙,用度無算」。非利用職權中飽私囊者,豈能如此奢華?淳祐四年(1244)八月,秦九韶以通直郎為建康府(今江蘇南京)通判,十一月,因母喪離任,回湖州守孝。在此期間,秦九韶可謂「無絲竹之亂耳,無案牘之勞形」,專心學問,埋頭著書。淳祐七年(1247)九月,完成數學名著《數書九章》。由於在天文曆法上的造詣,次年他被推薦到朝廷,受到皇帝召見,因而得以闡述自己的見解,並呈上他的奏稿及《數學大略》(即《數書九章》)書稿。 孝滿書成後的秦九韶不甘寂寞,又開始嚮往功名利祿。淳祐十年(1250),他往投吳潛幕。吳潛(1196—1262),號履齋,南宋重臣,主戰派首領。秦九韶與吳潛很有交情,他在湖州的居家即從吳處得到的地皮。寶祐二年(1254),秦九韶到建康,任沿江制置司參議,但不久去職,回湖州家居。此後,他去揚州攀附當朝權臣賈似道。寶祐六年(1258)正月,賈似道薦秦九韶於廣帥李曾伯,時逢瓊州守闕,於是李曾伯便命其暫任瓊州守,但三個月後被免職。劉克莊說秦九韶「到郡(瓊州)僅百日許,郡人莫不厭其貪暴,作卒哭歌以快其去」。周密則說他「至郡數月,罷歸,所攜甚富」。離瓊州回湖州後,秦九韶又投奔吳潛,得薦,開慶元年(1259)任司農寺丞,因不滿賈似道專權,被罷。景定元年(1260),又任命為知臨江軍(今江西清江),再次遭罷。不久,吳潛罷相,被貶潮州。秦九韶受到株連,也貶梅州(今廣東梅縣)做地方官,他「力政不輟」。約在景定二年(1261),病卒於任所,年60歲。 第二節對數學的貢獻:《數書九章》 秦九韶惡劣的個人品行,與傑出的數學才能是不相稱的。因此有人因他的數學成就而為其個人品行辯護,如清代數學家焦循在《天元一釋》卷下說:「秦九韶為周密所醜詆,至於不堪,而其書亦晦而復顯。密以填詞小說之才,實學非其所知。即所稱與吳履齋交稔,為賈相竄於梅州,力政不輟,則秦之為人亦瑰奇有用之才也。」與此同時,也有人因他的惡劣人品而貶低其數學成就,如余嘉錫《南宋算學家秦九韶事跡考》中說他「雖能治天算,多技能,不過小人之才耳,何足道哉!」對秦九韶,也有較客觀地評價:「有才有學的人未必有德,我們讀《數書九章》,不能不表揚秦九韶在數學方面的貢獻,但是論他的為人,也應符合當時的歷史實際。」①《數書九章》,是秦九韶勤奮學習、苦心鑽研和多年積累的數學成就的結晶,是堪與數學名著《九章算術》相媲美的。這部著作,南宋時稱為《數學大略》或《數術大略》,明《永樂大典》和清《四庫全書》皆題稱《數學九章》。明季常熟趙氏脈望館藏有另一抄本,萬曆時趙琦美為其撰寫跋文始稱《數書九章》。後來清道光時按趙抄本校刻的《宜稼堂叢書》本流傳較廣,遂成為現今的通稱。該書共18卷,81題,分為9類,每類9題,主要內容是:一、大衍類:一次同餘組的解法;二、天時類:曆法推算、雨雪量的計算;三、田域類:土地面積;四、測望類:勾股、重差等測量問題;五、賦役類:田賦、戶稅;六、錢穀類:徵購米糧及倉儲容積;七、營建類:建築工程;八、軍旅類:兵營布置和軍需供應;九、市易類:商品交易和利息計算。 每題答案之後都有「術」說明解題方法,「術」後有「草」說明演算步驟,①錢寶琮:《秦九韶〈數書九章〉研究》,載錢寶琮等著《宋元數學史論文集》,科學出版社1966年版,第62頁。 有的題目還畫有圖。《數書九章》中的兩項最重要的成就是正負開方術(高次方程數值解法)和大衍求一術(一次同餘組解法)。 在數學發展史上,古典代數學的中心課題是方程論。中國古代的方程論,不論是現代意義下的開方,還是解一般的高於二次的一元方程都被稱為開方。從《周髀算經》、《九章算術》,到5世紀的祖沖之和7世紀的王孝通,已經解決了開平方、開立方,以及二次三項方程和正係數三次方程求正根問題。11世紀,賈憲又創造了一種新的開方法——增乘開方法,通過隨乘隨加導出減根方程,逐步求出正係數高次方程的正根。12世紀,數學家劉益提出「正負開方術」,並突破了方程係數全都為正的限制。但劉益的方法並不是增乘開方法。秦九韶在前人工作的基礎上,把以增乘開方法為主體的高次方程數值解法發展到十分完備的程度。他的方程係數可正可負,可為分數,也可為小數,在有理數範圍內沒有限制,但規定常數項總為負。亦即解決了形如下列的數字方程求解問題:a0xn+a1xn-1+a2xn-2+.+an-1x+an=0其中a0≠0,an<0,ai∈Q(i=0,1,.,n)。《數書九章》81個問題中,用方程來解的有21個,共列出了26個方程,其中二次方程20個,三次1個,四次4個,十次1個,其解法大都有詳草。從其隨乘隨加的具體運算過程可以看出,秦九韶提出的高次方程數值解法可以毫不困難地轉化為計算機程序。秦九韶還討論了「投胎」、「換骨」、「玲瓏」、「同體連枝」等特殊情形,並將其廣泛應用於面積、體積、測量等方面的實際問題。 在西方,關於高次方程數值解法的探討,經歷了漫長的歷史過程,直到1840年,義大利數學家魯菲尼(P.Ruffini,1765—1822)才創立了一種逐次近似法解決數字高次方程無理根的近似值問題,而1819年英國數學家霍納(W.G.Horner,1786—1837)在英國皇家學會發表的論文「用連續逼近法解任何次數字方程的新方法」中,才提出與增乘開方法演算步驟相同的算法,後被稱為「霍納法」。秦九韶的成就要比魯菲尼和霍納早五六百年。 秦九韶對於一次同餘組解法的理論概括,是他在數學史上的另一項傑出貢獻。一次同餘式問題的解法是適應天文學家推算上元積年的需要而產生的。中國古代天文學家假設在遠古時代有一年的冬至、甲子日零時和日月合朔在同一時刻。該時刻即稱為上元,從上元到本年經過的年數稱為上元積年。在既知本年的冬至時刻和十一月平朔時刻的條件下推算這一年的上元積年是一個一次同餘問題。設A為回歸年(從冬至到冬至)日數,R1為本年冬至距其前一個甲子日零時的日數,B為一朔望月(從平朔到平朔)的日數,R2為冬至距前一個平朔的日數,則上元積年x滿足下列一次同餘組Ax=R1(mod60)≡R2(modB)。 3世紀後,中國各家曆法都有一個特定的上元積年,但各個時期的天文學家儘管掌握了上元積年的推算方法,卻沒有明確提出系統的和完整的一次同餘理論。 最早見於記載的一次同餘問題是《孫子算經》中的「物不知數」問題:「今有物不知數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何。」這相當於求解一次同餘組x≡2(mod3)≡3(mod5)≡2(mod7)。 《孫子算經》給出最小正解:x=2×70+3×21+2×15-2×105=23,但未說明其理論根據。秦九韶青年時在杭州「訪習於太史」,掌握了上元積年的推算方法。他經過深入研究,把上元積年算法與孫子問題的解法聯繫起來,在《數書九章》中明確給出了一次同餘組的一般解法。 設m1,m2,.,mn兩兩互素,M=m1·m2·.·mn,Mi=M/mi(i=1,2,3,.,n)。若有正整數k1,k2,.,kn滿足kiMi≡1(modmi),i=1,2,3,.,n,則一次同餘組x≡ri(modmi)≡r2(modm2)≡.的解為xmodM≡()。kMriiiin=.1這就是西方文獻中所稱的「中國剩餘定理」。秦九韶把mi、M、Mi和ki分別稱作定數、衍母、衍數和乘率。 顯然,一次同餘組解法的關鍵是求乘率ki。因為同餘式kiMi≡1(modmi)等價於kigi≡1(modmi),其中Mi≡gi(modmi),0<gi<mi,所以這一問題又歸結為求解同餘式ax≡1(modb),(a,b)=1,a<b秦九韶提出的著名的「大衍求一術」,就是求解(1)的方法(今亦泛指整個一次同餘組的解法)。《數書九章》卷三「治歷演紀」題,詳細記述了南宋開禧歷上元積年的推算過程。從大衍求一術的這一具體應用可以清楚看出,秦九韶的算法是完全正確和相當嚴密的。並且,秦九韶的大衍求一術與他的高次方程數值解法一樣,簡潔、明確、帶有很強的機械性,其程序亦可毫無困難地轉化為算法語言,用計算機來實現。 另外還值得一提的是,《數書九章》卷一、卷二大衍類共有9個一次同餘組問題,其中只有「余米推數」題(三個模數為19、17、12)可直接應用「中國剩餘定理」來解,其餘諸題所給模數或帶有小數,或帶有分數,或為不兩兩互素的整數,需要進行適當的變換。帶有小數和分數的模易於化為整數模。但由於中國古代傳統數學中沒有素數概念,因而秦九韶不可能用素因數分解的方法來化不兩兩互素的模為兩兩互素的模。可是他所設計的一些算法,如「兩兩連環求等,約奇弗約偶(或約得五,而彼有十,乃約偶弗約奇)」等,不僅較為成功地解決了這一難題,而且在實際計算上比素因數分解法更具優越性。因此,有些學者譽稱其為沒有素數的素數論。 在西方,最早接觸一次同餘組的是義大利數學家斐波那契(Fibonacci,約1170—1250),他在《算盤書》(1202)中給出了兩個一次同餘問題,但沒有一般解法。直到18—19世紀,瑞士數學家歐拉(Euler,1707—1783)和德國數學家高斯(C.F.Gauss,1777—1855)才對一次同餘組進行深入研究,重新獲得與「中國剩餘定理」相同的定理,並對模數兩兩互素的情形給出嚴格證明。1852年,英國傳教士、漢學家偉烈亞力(A.Wylie,1815—1887)發表《中國數學科學札記》,其中介紹了大衍求一術。從1856年到1876年,德國人馬蒂生(Martthiessen,1830—1906)等西方學者又多次指出大衍求一術原理與高斯方法的一致性,從而更加引起了歐洲學者的矚目。德國數學史家康托(M.Cantor,1829—1920)高度評價了大衍求一術,他稱讚發現這一算法的中國數學家是「最幸運的天才」。比利時東方學家李倍始(U.Libbrecht)在《13世紀的中國數學》(ChineseMathematicsintheThirteenthCentury,1973)一書中對從《孫子算經》到19世紀末斯提爾吉斯共15個有代表性的解決同餘組的人或著作作了比較。他按工作質量所排列的名次是:斯提爾吉斯(1890),歐拉(1743),高斯(1801),秦九韶(1247),貝維立基(1669),哥廷根手稿(約1550),休頓(1657),慕尼黑手稿(約1450),斐波那契(1202),楊輝(1275),《孫子算經》(約400),阿古洛斯(約1350),程大位(1592),嚴恭(1372),玉山若干(約1460)。秦九韶名列第四。 《數書九章》除了正負開方術和大衍求一術這兩項重要成就外,還有不少其他方面的成就。如在代數學方面,改進了線性方程組的解法,普遍應用互乘相消法代替傳統的直除法;在幾何學方面,提出已知三角形三邊之長求其面積的等價于海倫公式的「三斜求積術」:A=14ababc222222-+-.è...÷é.êêù.úú,將《九章算術》與《海島算經》中的勾股測望之術發揚光大,等等。《數書九章》的內容非常豐富,從中我們不僅可以找到數學和天文曆法乃至雨雪量等方面的珍貴資料,而且還可以了解到南宋時期戶口增長、耕地擴展、賦稅、利貸、度量衡以及貨幣流通、海外貿易等社會經濟領域的真實情況。 如果說《九章算術》標誌著中國古代數學理論的形成,那麼《數書九章》則標誌著中國古代數學之頂峰,其高次方程數值解法以及一次同餘組解法亦代表了中世紀世界數學發展的主流與最高水平。美國科學史家薩頓(Sarton,1884—1956)因此稱秦九韶是「他那個民族、他那個時代,並且確實也是所有時代最偉大的數學家之一」。