周髀算經
中國古代天文學和數學著作
《周髀算經》原名《周髀》,是算經的十書之一。中國最古老的天文學和數學著作,約成書於公元前1世紀,主要闡明當時的蓋天說和四分曆法。唐初規定它為國子監明算科的教材之一,故改名《周髀算經》。
《周髀算經》在數學上的主要成就是介紹了勾股定理。(據說原書沒有對勾股定理進行證明,其證明是三國時東吳人趙爽在《周髀注》一書的《勾股圓方圖注》中給出的)及其在測量上的應用以及怎樣引用到天文計算。)
《周髀算經》的採用最簡便可行的方法確定天文曆法,揭示日月星辰的運行規律,包括四季更替,氣候變化,包涵南北有極,晝夜相推的道理。給後來者生活作息提供有力的保障,自此以後歷代數學家無不以《周髀算經》為參考,在此基礎上不斷創新和發展。
假設我們把《周髀算經》的本文限定為商高與周公的問答,似乎其成書年代也就不難斷定了。可是,乾嘉以後,考據之學興起,疑古之風日盛,到了現代,幾乎所有的中外學者都不得不接受這樣的推斷:不僅商高是後人假託的,甚至陳子也是後人虛構出來的。於是,僅僅把商高問答看作《周髀算經》本文就不再有任何意義了。因此,許多學者都將陳子問答以後的文字作為《周髀算經》全文的一個部分,不再加以區分。如此一來,人們開始根據《周髀算經》中的內容推斷它的成書年代。通常的方法可以分成兩類:天文學史專家,喜歡利用現代天文學手段,根據《周髀算經》中記錄的一些特殊的天文現象或數據,推算其應該出現的年代,並以此來確定其成書時代。例如,日本學者能田忠亮便以《周髀算經》中的北極星(北極璇璣)到北天極的距離.歸算出其成書年代大約在公元前5到7世紀之間。
另一種方法則是根據《周髀算經》涉及的一些內容,與相對而言年代比較明確的其他歷史典籍的比較,推斷其成書年代。錢寶琮(1892-1974)在《周髀算經考》中對《周髀算經》的年代做出如下的考證:第一,《周髀算經》主要分為兩個部分,前為商高問答,後為陳子模型;第二,由於懷疑商高是後人的偽托,因此,認為陳子以下的文字才是《周髀算經》的主體,通過與《淮南子·天文訓》的比較,從六個方面論述了陳子以下的文字成書在
公元前100年左右;第三,“周髀”的意思以陳子之說為準,同時也提到其他一些解釋;第四,比較24氣名目及次序與《三統曆》之異同,提到趙爽注稱原節氣長度15日與《淮南子》的粗略記法類似;第五,分數演演算法的繁複與《九章算術》類似。他的結論是,《周髀算經》成書在公元前100年左右。在疑古思潮的影響下,還有一種傾向也值得人們的注意,那就是以《周髀算經》全書中所有內容的下限來判定它的成書年代,古克禮(C.Cullen)大約可以算是這個方面的一個代表。古克禮認為以前的學者大多錯誤地企圖去發現《周髀算經》作為一個整體完成的年代,因此,它們的結論是在一種假象的幻覺中獲得的。他認為,這部書是一些志同道合的研究者分別撰述的論文集。他的做法是,首先,調查《周髀算經》的內在結構,並將其劃分為不同的章節,討論節與節之間的關係;其次,討論與各節內容有關的外部世界的資料與活動;第三,探討可能產生與各節內容相關的歷史環境。他將《周髀算經》的整體編排打亂,把它們劃分為外篇與內篇兩個部分。其中內篇以陳子模型為主展開,取其下限在公元1世紀。在有關外部環境的討論中,指出作為皇家的藏書目錄,班固(32-92)編寫的《漢書·藝文志》中有《許商算術》與《杜忠算術》而無《周髀算經》;蓋天說在公元l世紀已經為人所熟知,蔡邕在公元180年已經明確將其列為中國古代的三家宇宙論之一。結論是,由於受到了渾天說的影響,《周髀算經》的成書時間不可能早於公元前l世紀,但也不會晚於公元200年。
筆者以為,判別中國古代科學典籍的完成年代,應該以書中主要的科學思想或知識水平所反映的年代為判別標準,而不應以書中夾雜的若干後代摻入的隻言片語作為推斷的條件。由於早期的科學典籍通常都是人類知識逐漸積累的結晶,因此,搞清楚其中科學思想的萌生時期與流傳脈絡,也許比單純判定它的成書年代更有意義。
科學史已經反覆地證明,今天看來是非常顯然的科學真理,在人類認識它的初期往往經歷了長期的懷疑,甚至抵制。例如,歲差現象在南北朝時期的存廢之爭,就是一個典型的事例。因此,試圖通過以《周髀算經》中的內容的完整或正確性介於某兩個古代文獻之間,就認定其成書年代也必定介於兩者之間的方法,是靠不住的。而利用一些重要數據的理論推算來判定其成書年代的方法,許多時候也是不太可行的。
有關《周髀算經》成書年代的討論,馮禮貴曾經收集了14種不同的觀點。儘管在《周髀算經》成書年代的判斷上有很大的區別,但幾乎所有的研究者都有一個共識,那就是《周髀算經》並不是成書於一人一時,它經過了許多朝代的流傳進化才得以完成目前我們所看到的篇幅與結構。
章鴻釗曾經明確地將《周髀算經》的形成劃分為三個時期:第一期,商高問答;第二期,陳子問答;第三期,陳子以後的文字。這樣的劃分,是許多人都默認的一個事實。正如陳方正在總結前人對《周髀算經》成書過程的討論時所說:
《周髀》不但不是個人的著作,甚至也未必是單一性質的著作,而可能是由多個在不同歷史時期出現,相關、相類但並不相同的學說、理論,逐漸累積而成。因此,將《周髀》單純視為表述蓋天說的自洽體系,而忽視它的層積性質,是不甚恰當的。
筆者也贊同將《周髀算經》的形成劃分為三個時期。具體而言,上卷之一,商高與周公的問答,應該是《周髀算經》的原始文字,它反映了早期的
以商高為代表的中國古代數學家對數學以及數學之為用的認識。商高答周公問企圖說明的問題是解決幾何測量學的數學方法,這一點他做到了。這個方法包含勾股定理與用矩之道。按照商高的說法,這些數學內容在大禹治水的時候已經具備,應該是可信的。
第二個時期,陳子模型的提出,其內容為上卷之二陳子與容方的問答,這個部分大約在戰國時期已經形成。這個時期,陳子將商高的用矩之道進一步發展成為測望日高的重差術。也是可以相信的。陳子問答中試圖解決的問題是,利用影差原理與日高術,在商高的用矩之道的基礎上,進一步完善更加宏大的測天量地的理論與實踐。陳子模型的提出,事實上是在向著這樣的目標邁出了關鍵的一步:把商高的《周髀》轉化為蓋天說的《周髀》,把一部比較單純的數學著作轉化為一部純粹的數理天文學論著。
從上卷之三開始,是對蓋天說理論的擴張與完善。首先是在陳子模型的基本假設下,建立七衡六間的宇宙模型,並以術文的形式給出每日太陽運行軌道的計算方法,使七衡圖成為一個可以操作的真正的活動式星盤。在此基礎上,進一步引入新的天地形狀的模式,給出了地理五帶的劃分、寒暑成因的解釋、日出日落的方位,並建立了蓋天說的天體測量學,引入了去極度的概念,製作了比較完整的《四分曆》等等。這些雖然大大地豐富了陳子模型的理論內涵,但同時也製造了蓋天說系統內部的一些無法完全自洽的矛盾,成為後世學者不斷批評的目標。這個部分的形成,意味著《周髀算經》作為一部論述蓋天說理論的專著的完成。從《周髀算經》上卷之三開始,出現了大量的“術曰”,這一點與商高問答及陳子問答的行文風格形成明顯的反差,從一個側面反映出其形成時期應該是比前兩個部分更加晚近的事實。
綜上所述,《周髀算經》的第一部分商高問答,曾經作為《周髀算經》獨立的本文,其完成時間應該在西周初期,約公元前11世紀。陳子問答中的數學理論與宇宙模型完成的時間,大約在公元前4、5世紀。作為一部闡釋蓋天說理論的數理天文學著作,《周髀算經》從上卷之三開始,是對陳子模型的完善和擴充,其中的一些基本數據與結構,如七衡圖與去極度等,應該是在陳子模型提出后就已經確定了的,但是,陳子假設的平行平面的天地模型,則得到了一定的修正,並且加入了一些新的東西,如寒暑成因與曆法等內容,總而言之,《周髀算經》第三部分的成型,按照錢寶琮與劉朝陽的考證,應該不會晚於公元前100年。
根據《周髀算經》原文中的明確交代,以及在文獻中對幾個關鍵問題的詳細論證,我們已經知道《周髀算經》中的蓋天宇宙有如下特徵∶
一、大地與天空相距80,000里的平行圓形平面。
二、大地中央有高大柱形物(高60,000里的“璇璣”,其底面直徑為23,000里)。
三、該宇宙模型的構造者在圓形大地上為自己的居息之處確定了位置,並且這位置不在中央而是偏南。
四、大地中央的柱形延伸至天處為北極。
五、日月星辰在天上環繞北極作平面圓周運動。
六、太陽在這種圓周運動中有著多重同心軌道,並且以半年為周期作規律性的軌道遷移(一年往返一遍)。
七、太陽的上述運行模式可以在相當程度上說明晝夜成因和太陽周年視運動中的一些天象。
令人極為驚訝的是,筆者發現上述七項特徵竟與古代印度的宇宙模型全都吻合!這樣的現象恐非偶然,值得加以注意和研究。下面先報道筆者初步比較的結果,更深入的研究或當俟諸異日。
關於古代印度宇宙模型的記載,主要保存在一些《往世書》(Puranas)中。《往世書》是印度教的聖典,同時又是古代史籍,帶有百科全書性質。它們的確切成書年代難以判定,但其中關於宇宙模式的一套概念,學者們相信可以追溯到吠陀時代----約公元前1000年之前,因而是非常古老的。《往世書》中的宇宙模式可以概述如下:
大地像平底的圓盤,在大地中央聳立著巍峨的高山,名為迷盧(Meru,也即漢譯佛經中的“須彌山”,或作Sumeru,譯成“蘇迷盧”)。迷盧山外圍繞著環形陸地,此陸地又為環形大海所圍繞,……如此遞相環繞向外延展,共有七圈大陸和七圈海洋。
印度在迷盧山的南方。
與大地平行的天上有著一系列天輪,這些天輪的共同軸心就是迷盧山;迷盧山的頂端就是北極星(Dhruva)所在之處,諸天輪攜帶著各種天體繞之旋轉;這些天體包括日、月、恆星、……以及五大行星----依次為水星、金星、火星、木星和土星。
利用迷盧山可以解釋黑夜與白晝的交替。攜帶太陽的天輪上有180條軌道,太陽每天遷移一軌,半年後反向重複,以此來描述日出方位角的周年變化。……
又唐代釋道宣《釋迦方誌》卷上也記述了古代印度的宇宙模型,細節上恰可與上述記載相互補充∶
……蘇迷盧山,即經所謂須彌山也,在大海中,據金輪表,半出海上八萬由旬,日月回薄於其腰也。外有金山七重圍之,中各海水,具八功德。
根據這些記載,古代印度宇宙模型與《周髀算經》蓋天宇宙模型卻是有驚人的相似之處,在細節上幾乎處處吻合∶
一、兩者的天、地都是圓形的平行平面;
二、“璇璣”和“迷盧山”同樣扮演了大地中央的“天柱”角色;
三、周地和印度都被置於各自宇宙中大地的南半部分;
四、“璇璣”和“迷盧上”的正上方都是各種天體旋轉的樞軸----北極;
五、日月星辰在天上環繞北極作平面圓周運動。
六、如果說印度迷盧山外的“七山七海”在數字上使人聯想到《周髀算經》的“七衡六間”的話,那麼印度宇宙中太陽天輪的180條軌道無論從性質還是功能來說都與七衡六間完全一致(太陽在七衡之間的往返也是每天連續移動的)。
七、特別值得指出,《周髀算經》中天與地的距離是八萬里,而迷盧山也是高出海上“八萬由旬”,其上即諸天輪所在,是其天地距離恰好同為八萬單位,難道純屬偶然?
在人類文明發展史上,文化的多元自發生成是完全可能的,因此許多不同文明中相似之處,也可能是偶然巧合。但是《周髀算經》的蓋天宇宙模型與古代印度宇宙模型之間的相似程度實在太高----從整個格局到許多細節都一一吻合,如果仍用“偶然巧合”去解釋,無論如何總顯得過於勉強。
當然,如果我們就此立刻進入關於“誰源於誰”的考據之中,那又將遠遠超出本文的範圍。
2寒暑五帶的知識來自何處?
《周髀算經》中有相當於現代人熟知的關於地球上寒暑五帶的知識。這是一個非常令人驚異的現象----因為這類知識是以往兩千年間,中國傳統天文學說中所沒有、而且不相信的。
這些知識在《周髀算經》中主要見於卷下第9節∶
極下不生萬物,何以知之?……北極左右,夏有不釋之冰。
中衡去周七萬五千五百里。中衡左右,冬有不死之草,夏長之類。此陽彰陰微,故萬物不死,五穀一歲再熟。
凡北極之左右,物有朝生暮獲,冬生之類。
這裡需要先做一些說明∶
上引第二則中,所謂“中衡左右”即趙爽注文中所認為的“內衡之外,外衡之內”;再由本文圖1就明確可知,這一區域正好對應於地球寒暑五帶中的熱帶(南緯23°30′至北緯23°30′之間)----儘管《周髀算經》中並無地球的觀念。
上引第三則中,說北極左右“物有朝生暮獲”,這就必須聯繫到《周髀算經》蓋天宇宙模型對於極晝、極夜現象的演繹和描述能力。據前所述,圓形大地中央的“璇璣”之底面直徑為23,000里,則半徑為11,500里,而《周髀算經》所設定的太陽光芒向其四周照射的極限距離是167,000里;於是,由本文圖1清楚可見,每年從春分至秋分期間,在“璇璣”範圍內將出現極晝----晝夜始終在陽光之下;而從秋分到春分期間則出現極夜----陽光在此期間的任何時刻都照射不到“璇璣”範圍之內。這也就是趙爽注文中所說的“北極之下,從春分至秋分為晝,從秋分至春分為夜”,因為是以半年為晝、半年為夜。
《周髀算經》中上述關於寒暑五帶的知識,其準確性是沒有疑問的。然而這些知識卻並不是以往兩千年間中國傳統天文學中的組成部分。對於這一現象,可以從幾方面來加以討論。
首先,為《周髀算經》作注的趙爽,竟然就表示不相信書中的這些知識。例如對於北極附近“夏有不釋之冰”,趙爽注稱∶“冰凍不解,是以推之,夏至之日外衡之下為冬矣,萬物當死----此日遠近為冬夏,非陰陽之氣,爽或疑焉。”又如對於“冬有不死之草”、“陽彰陰微”、“五穀一歲再熟”的熱帶,趙爽表示“此欲以內衡之外、外衡之內,常為夏也。然其修廣,爽未之前聞”----他從未聽說過。我們從趙爽為《周髀算經》全書所作的註釋來判斷,他毫無疑問是那個時代夠格的天文學家之一,為什麼竟從未聽說過這些寒暑五帶知識?比較合理的解釋似乎只能是∶這些知識不是中國傳統天文學體系中的組成部分,所以對於當時大部分中國天文學家來說,這些知識是新奇的、與舊有知識背景格格不入的,因而也是難以置信的。
其次,在古代中國居傳統地位的天文學說----渾天說中,由於沒有正確的地球概念,是不可能提出寒暑五帶之類的問題來的。因此直到明朝末年,來華的耶穌會傳教士在他們的中文著作中向中國讀者介紹寒暑五帶知識時,仍被中國人目為未之前聞的新奇學說。正式這些耶穌會傳教士的中文著作才使中國學者接受了地球寒暑五帶之說。而當清朝初年“西學中源”說甚囂塵上時,梅文鼎等人為寒暑五帶之說尋找中國源頭,找到的正是《周髀算經》----他們認為是《周髀算經》等中國學說在上古時期傳入西方,才教會了希臘人、羅馬人和阿拉伯人掌握天文學知識的。
現在我們面臨一系列尖銳的問題∶
既然在渾天學說中因沒有地球概念而不可能提出寒暑五帶的問題,那麼《周髀算經》中同樣沒有地球概念,何以卻能記載這些知識?
如果說《周髀算經》的作者身處北溫帶之中,只是根據越向北越冷、越往南越熱,就能推衍出北極“夏有不釋之冰”、熱帶“五穀一歲再熟”之類的現象,那渾天家何以偏就不能?
再說趙爽為《周髀算經》作注,他總該是接受蓋天學說之人,何以連他都對這些知識不能相信?
這樣看來,有必要考慮這些知識來自異域的可能性。
首先,《周髀算經》中明確記載了勾股定理的公式:“若求邪至日者,以日下為勾,日高為股,勾股各自乘,並而開方除之,得邪至日。”(《周髀算經》上卷二)
而勾股定理的證明呢,就在《周髀算經》上卷一——
昔者周公問於商高曰:“竊聞乎大夫善數也,請問昔者包犧立周天歷度——夫天可不階而升,地不可得尺寸而度,請問數安從出?”
商高曰:“數之法出於圓方,圓出於方,方出於矩,矩出於九九八十一。故折矩,以為勾廣三,股修四,徑隅五。既方之,外半其一矩,環而共盤,得成三四五。兩矩共長二十有五,是謂積矩。故禹之所以治天下者,此數之所生也。”
周公對古代伏羲(庖犧)構造周天歷度的事迹感到不可思議(天不可階而升,地不可得尺寸而度),就請教商高數學知識從何而來。於是商高以勾股定理的證明為例,解釋數學知識的由來。“數之法出於圓方,圓出於方,方出於矩,矩出於九九八十一。”解釋發展脈絡——數之法出於圓(圓周率三)方(四方),圓出於方(圓形面積=外接正方形面積*圓周率/4),方出於矩(正方形源自兩邊相等的矩),矩出於九九八十一(長乘寬面積計算依自九九乘法表)。
“故折矩①,以為勾廣三,股修四,徑隅五。”開始做圖——選擇一個勾三(圓周率三)、股四(四方)的矩,矩的兩條邊終點的連線應為5(徑隅五)。
“②既方之,外半其一矩,環而共盤,得成三四五。”這就是關鍵的證明過程——以矩的兩條邊畫正方形(勾方、股方),根據矩的弦外面再畫一個矩(曲尺,實際上用作直角三角形),將“外半其一矩”得到的三角形剪下環繞複製形成一個大正方形,可看到其中有邊長三勾方、邊長四股方、邊長五弦方三個正方形。
“兩矩共長③二十有五,是謂積矩。”此為驗算——勾方、股方的面積之和,與弦方的面積二十五相等——從圖形上來看,大正方形減去四個三角形面積後為弦方,再是大正方形減去右上、左下兩個長方形面積後為勾方股方之和。因三角形為長方形面積的一半,可推出四個三角形面積等於右上、左下兩個長方形面積,所以 勾方+股方=弦方。
注意:①矩,又稱曲尺,L型的木匠工具,由長短兩根木條組成的直角。古代“矩”指L型曲尺,“矩形”才是“矩”衍生的長方形。
②“既方之,外半其一矩”此句有爭議。清代四庫全書版定為“既方其外半之一矩”,而之前版本多為“既方之外半其一矩”。經陳良佐、李國偉、李繼閔、曲安京等學者研究,“既方之,外半其一矩”更符合邏輯。
③長指的是面積。古代對不同維度的量綱比較,並沒有發明新的術語,而統稱“長”。趙爽注稱:“兩矩者,句股各自乘之實。共長者,並實之數。
由於年代久遠,周公弦圖失傳,傳世版本只印了趙爽弦圖(造紙術在漢代才發明)。所以某些學者誤以為商高沒有證明(只是說了一段莫名其妙的話),後來趙爽才給出證明。
其實不然,摘錄趙爽註釋《周髀算經》時所做的《勾股圓方圖》——“句股各自乘,並之為弦實,開方除之即弦。案:弦圖又可以句股相乘為朱實二,倍之為朱實四,以句股之差自相乘為中黃實,加差實亦成弦實。”
注意“案”中的“弦圖又可以”、“亦成弦實”,“又”“亦”二字表示趙爽認為勾股定理還可以用另一種方法證明,於是他給出了新的證明。