本站小編為你精心準備了探究古代印度數系的歷史發展參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:通過研讀和比對原典文獻,文章對印度數系及與其相關的記數法、數詞、數字的發展演變進行追根溯源。確認在印度文明初期已有十進制記數法。數學的發展對數系的擴張和數字的發明起最直接的作用:從早期的單位分數到后來用除法來定義分數;“零”的出現不晚于6世紀,但零和負數的運算律的完善卻和7世紀代數學研究密切相關;無理數(卡拉尼數)在公元前6世紀由幾何產生,隨著計算的深入其也從原來單純的幾何概念抽象為一般意義上的二次根式。印度數字剛誕生時可能僅是數詞的簡化符號,5世紀左右引入了十進位值制,在8世紀前演變成了包含符號0在內的完整體系。印度的算板筆算傳統在其發展過程中起了關鍵性的作用。
關鍵詞:印度數學史;十進記數法;數系擴張;印度數字
一、古代印度的記數法與數詞
印度次大陸上最早出現的文明是印度河流域文明(公元前2600年至前1800年左右)。由于該文明的文字或是類文字的記號還未得到破解,因此還不知道這個時期是否出現過數詞或數字。一些發掘出的砝碼和量尺暗示了印度河流域文明大概已有十進制數的概念,但是它與本文所要談到的印度數系的歷史可能并沒有淵源。因為整個印度河流域文明在公元前2千紀的中葉就已因氣候變化或是雅利安人入侵等而在歷史中消失了。雅利安人于公元前1800年左右從西北方入主印度次大陸。他們說的是一種被語言學分類為“印度-歐羅巴語系”的語言———梵語(Sanskrit)。雅利安人的梵文宗教典籍《吠陀》(Veda,約公元前2千紀中后葉成立)是印度文化的根本源泉,在談到數系的發展時也不例外。在其最早期的《梨俱吠陀》(,約公元前1500年)的8.46.22一偈中可以明確辨認出十進數詞的使用:我領受了六十()個千(sahasra)并阿由他(ayuta,10000)的馬,二十()個百()的水牛,十()個百棕色的,十[個百]帶三星花紋的,以及十個千的乳牛”(即7萬頭馬,2千頭水牛和1萬頭乳牛)。①這里的數詞雖然有的以“二十”或“六十”為一組單獨命名,但其基本的計數單位“十”“百”“千”均為10的乘冪。除此之外,在《夜柔吠陀》(Yajurveda,約公元前1000年)本集的祭文里還列出了從一百到10的12次方的名稱:贊美(svāhā)百(,102)、贊美千(sahasra,103)、贊美萬(ayuta,104)、贊美十萬(niyuta,105)、贊美百萬(prayuta,106)、贊美千萬(arbuda,107)、贊美億(nyarbuda,108)、贊美十億(samudra,109)、贊美百億(madhya,1010)、贊美千億(anta,1011)、贊美兆(parārdha,1012)、贊美曙光、贊美破曉……贊美一切。②這里可能是想通過例舉10的乘冪(即十進制數的計數單位)來表達對一切數字的贊美。需要指出的是,吠陀文獻中的十進數詞的數值并不確定,特別是萬以上均未統一。直等到《阿耶波多歷算書》(,499年)和《五大體系歷書》(,550年左右)之后,印度數學文獻中所使用的十進數詞的值才可以說基本固定下來。梵語里表達十以下的數詞依次為:eka(一)、dva(二)、tri(三)、catur(四)、(五)、(六)、sapta(七)、(八)和nava(九),可以看出它們和很多歐洲語言里的數詞十分相似。而那些表示二十()、三十()等的數詞則都是在此基礎上進行變化。通過加減、取倍或是取半,就可以用它們表示任何一個數,如除了自然數外,印度的分數也是十進制的。在公元前一千紀中葉的吠陀輔助學《繩法經》()和《豎底沙論》()中,已出現如“六分之一”()這樣的單位分數。對其加減乘除就可以表示任何一個分數甚至是帶分數,如“十三又九分之五”可寫作《阿耶波多歷算書》之后的數學文獻除繼承此種表示方法外,更一般的是使用除法來定義分數量。表示“分母”這個意思的梵語詞“cheda”“bhāga”或是“”(都意為“部分”)通常也可以翻譯成“除數”。這正如《九章算術》里的“合分術”:“實如法而一。不滿法者,以法命之”。除十進制數詞以外,一些佛經里還出現過百進制的數詞系統,如《方廣大莊嚴經》(梵語原本作于約公元3世紀):“百拘胝名阿由多(ayuta,109)。百阿由多名尼由多(niyuta,1011)……百毗浮登伽摩(,1051)名怛羅絡叉(,1053)。”④甚至還有使用了“倍進法”的,如《大方廣佛華嚴經》(約3世紀):“一百洛叉為一俱胝,俱胝俱胝為一阿庾多,阿庾多阿庾多為一那由他……”⑤然而,佛經里所談論的大數在印度數學文獻中幾乎從未使用過,在此不再深究。不過有一點需要注意,在《阿毗達磨俱舍論》(約4至5世紀)里似乎談到了“數位”的問題。據說佛陀用了三阿僧企耶(,譯為“不可數shǔ”)大劫的時間才修煉成佛,于是乎就有“既稱無數何復言三”的問題。作為回答,其解釋說阿僧企耶其實是60個數中的一個數:非無數言顯不可數。解脫經說六十數中。阿僧企耶是其一數。云何六十。如彼經言。有一無余數始為一。一十為十。十十為百……十跋邏攙(,1049)為大跋邏攙(,1050)。十大跋邏攙為阿僧企耶。于此數中忘失余八(1051~1058)。若數大劫至此數中阿僧企耶名劫無數。此劫無數復積至三。⑥即將“一”(100)看作為第1個數,“十”(101)為第2個數,“百”(102)為第3個數,以此類推,數到“阿僧企耶”(1059)時便是第60個數了。可以看出,這里所說的60個“數”其實可以理解為是60個“十進數位”的名稱。⑦因此,所謂“三阿僧企耶”就表示3×1059。真正明確提出十進位值制記數法的乃是阿耶波多,其《阿耶波多歷算書》數學章第2偈為:一、十、百、千,然后是萬和十萬,繼續是百萬、千萬、億和十億。每一位置(sthāna)須是它之前一位的10倍。⑧對此術文注釋者婆什迦羅一世(BhāskaraI,7世紀初)解釋道:“向前排列數位是為了簡單起見。因為若不這樣,數學運算將會變得困難,這是由于沒有給數字指定位置。為什么?當擺弄大量的單位(可理解為百、千、萬這樣的數量)時,許多單位都需要被確定位置。另一方面,事實上,當位置固定后,那些必須使用大量單位才能完成的運算,可以只用單獨一個[單位]來完成”。并且,他還特別用了10個圓圈來表示這10個數位。⑨
二、印度數字與數位關系
密切的自然是數字(數碼)了。印度數字最早的實物證據出現在公元前3世紀左右的阿育王石碑中,此后的一些硬幣或碑刻上也不斷發現了數字的使用。那些數字基本來說采用了十進制,但沒有使用位值制。如圖1所示,從1到3是線條的累積,4到9,以及10和100的整數倍(如20或200)均有專門的符號來表示。在表示任意數時則是用取和或取積的形式。由于這些特征均與介紹過的印度數詞相同,因此設想最初的數字可能僅是數詞的簡略表示。已知最早的十進位值制數字出現在一塊發掘于印度桑克達(Sankheda)地區的銅板銘文中。銘文最后用了三個數字表示了該文的寫作日期———印度切蒂歷(ChediEra)346年(相當于公元595年到596年)。雖說按實物證據印度的十進位值制數字只能追溯到公元6世紀末,但是碑刻或銘文其形式常常偏于保守。從《阿耶波多歷算書》或是《阿毗達磨俱舍論》的記述來看,我們完全有理由斷定早在公元5世紀十進位值制數字就已被發明出來。從另一方面來講,記數法往往和計算工具相聯系———正如十進位值制記數的產生在中國是與算籌的使用與籌算制度的演進分不開,瑏瑡印度數字的產生可能和算板的使用關系緊密。算板()是印度數學家進行數學運算時的主要工具,其歷史可以追溯到公元前。其形狀為長條形,外面包裹皮革,用類似粉筆的棒在上面書寫,字跡可以擦去并反復使用。瑏瑢事實上,婆什迦羅一世在注釋《阿耶波多歷算書》時總會有一個叫作“記下”()的步驟,用來將術文或例題中提到的數量用數字()抄錄于算板上,之后再進行演算。上面婆什迦羅一世畫了10個圓圈來表示阿耶波多的10個數位,而真正計算時在各數位上填入的就應該是數字了。雖然我們不清楚阿耶波多或婆什迦羅一世所使用的數字是什么樣子的,但在一部抄寫于8世紀的數學書《巴克沙麗抄本》()中十進位值制的數字已可得到清晰的辨認。瑏瑣十進位值制數字對數學的進步意義重大。一方面用它可以方便地表示任何數量,另一方面則是它非常利于筆算———阿耶波多的開平方或開立方算法就和十進位值制記數法關系密切。在婆什迦羅一世的時代,印度的記數法可能就已傳入中亞地區。瑏瑤接著在8世紀,印度記數法通過印度的外交使節介紹到巴格達的宮廷,9世紀的花拉子米在《印度數字計算法》(Algorithmidenumeroindorum,阿拉伯語原本散佚,現僅存拉丁語譯本)一書中也對其做了詳細的記載。到了11世紀,阿拉伯帝國的各處(特別是在西班牙、西西里島和埃及)都在使用印度記數法。斐波那契(LeonadoFibonacci)是印度記數法在歐洲得到普及的最大功臣。他在《計算之書》(LiberAbaci,約13世紀初)中介紹道:“印度數字有9個,分別是9、8、7、6、5、4、3、2、1。加上在阿拉伯語中被喚作希夫爾(sifr)的0,就能夠隨心所欲地記下任何數。”瑏瑥有一點需要指出,根據斐波那契的介紹及其他一些資料來看,歐洲人所認識的“印度數字”似乎僅僅指除0以外的9個數字。其中緣由我們無從得知,但可以肯定的是,在成熟的位值制記數法中無論如何都不可缺少表示空位的符號“零”。印度人一開始可能是用點來表示零的。婆什迦羅一世在《阿耶波多歷算書注釋》中如此表現太陽在一個紀(yuga)里的周轉圈數:瑏瑦其數為天空(0)-雨云(0)-點(0)-云(0)-雙子(2)-祭火(3)-完美(4)即4320000。這里,婆什迦羅一世在表現某個數量時所用的并不是數詞或是數字,而是一種被稱為“具象數字”()的數字聯想表現法。也就是說,在表示某個數時可以用某個具體事物的名稱來代替,只要從這個名稱可以方便聯想起所要表示的那個數就行。如“月亮”代表“1”,“雙子”代表“2”,“祭火”代表“3”(來自吠陀祭儀中使用的三個祭火壇)等。這里,“天空”和“云”表示“0”,因為它們都意味著“空虛”。“點”也表示“0”,但它可能意味的是數字“0”的形狀。因此我們有理由相信,在婆什迦羅一世的時代,即公元7世紀初時,印度人已經在使用點或圈作為零的符號了。瑏瑧值得一提的是,“數字”()這個詞本身也是一個具象數字,代表9。這說明即使在印度人眼里,記號0和從1到9這九個數碼之間還是有些差別。這可能是因為前者僅是一“點”,而后者則擁有“圖樣”。
三、數系的擴張———零、負數
完備的印度十進位值制記數法確實包含了表示空位的0。然而在印度人眼里,0不僅僅是一個空位符,它毫無疑問也表示了一個數量,即“零”———梵語為“kha”或“”,都意為“空”。瑏瑩對它可以和別的數量一樣進行加減乘除,其最早的一個例子來自6世紀的《五大體系歷書》:太陽[從白羊宮開始]的每日運行速度依次為60[分]減3、3、……、減0、1,瑐瑠即有60-0=60。正是這一點使得印度的零有別于古巴比倫、古埃及也曾有過的那種占位的零,因此印度人被認為是發明出了真正意義上的“零”。究其原因,盡管有人會將零和印度宗教哲學中獨特的“空”觀念聯系在一起,但是印度數學自身———比如筆算,以及代數學的發展,卻能夠更加自然地解釋零,乃至負數概念在印度的產生和完備。“數學”一詞在梵語里叫作“”,從詞源上講,它與意為計數的動詞“”有關。婆羅摩笈多(Brahmagupta)在其《婆羅摩修正體系》(,628年)中論述道“”包含兩種意思:其一是關于“已知量”的運算,如算術和幾何,構成了其《體系》第12章的內容;其二被稱為“庫塔卡”()———這個詞的本義是一種解不定方程的方法,這里借指求解含有“未知量”的代數問題,其構成《體系》第18章的內容。
四、無理數的歷史發展
事實上,印度人認識無理數要比認識零或負數都要早。和古希臘的情形一樣,無理數最先也是從幾何問題而來。公元前6世紀左右的《繩法經》里就有經文這樣說道:(1.9-10:)正方形的對角線生成兩倍[于原正方形]的面積。[長方形]的寬是基準正方形的邊,若長為兩倍[正方形的]邊(),則對角線就等于三倍[正方形的]邊。瑐瑥即,若基準正方形的邊長為1,根據勾股定理(由《繩法經》1.12給出),其對角線長為“”。根據上下文意思直譯為“可生成[面積為]2[的正方形]的邊”或“兩倍[正方形的]邊”;同樣地,以1和“兩倍[正方形的]邊”為邊的長方形的對角線則等于“三倍[正方形的]邊”(tri-karanī)。可以看出,對于開平方不盡的數,印度人是將其和“卡拉尼”()一詞放在一起來表示其平方根。姑且把它稱為“卡拉尼數”,“2卡拉尼”就意味槡2,“3卡拉尼”就為槡3。早期卡拉尼一詞的使用似乎僅局限于幾何問題中,在求某數的平方根時則傾向于使用“mūla”(意為“根”)一詞(《阿耶波多歷算書》2.4)。因此,早期的卡拉尼數只用作為描述一個幾何量的大小,如邊長、對角線的長等。相對于這種實體的卡拉尼數,后來發展出卡拉尼的第二種用法,即用它來籠統指代二次根式。如“兩個卡拉尼的乘積”(《注釋》2.6)這樣的表述,指一般意義上的“兩個二次根式的乘積”。卡拉尼由此從幾何實體變為純粹的符號化的運算對象,這乃是印度人在數學思想上從形象到抽象的一次飛躍。我們認為這個演變與對卡拉尼數計算的深入理解有關。婆什迦羅一世在《注釋》中多次用到卡拉尼數,甚至將其符號化,直接用頭音節“卡”(ka)來表示。
通過對原典文獻的研讀和比對,確認了在印度文明初期的吠陀時代就已有十進記數法。百進和倍進法雖然也在一些文獻中存在過,但其主要局限于佛教的說法,且并未進入印度數學的主流之中。數學的發展則對數系的擴張和數字的發明起到了最直接的作用。吠陀時代雖已有單位分數,但在6世紀后就基本只用除法來定義分數量。作為數量的“零”不晚于6世紀出現,但零和負數的運算律的完善卻和7世紀印度代數學解方程的研究密切相關,這點從婆羅摩笈多的論述中可以清楚看出。無理數(卡拉尼數)于公元前6世紀產生,其是圖形計算時應用畢達哥拉斯定理的必然結果。后來隨著計算的深入,人們對卡拉尼數的理解也從原來單純的幾何概念抽象為一般意義上的二次根式。并且阿耶波多、婆什迦羅一世還認識到無理數和圓周率的不可通約性。印度數字剛誕生時可能僅是數詞的簡化符號,到5世紀左右引入十進位值制,并在8世紀前演變成包含符號0在內的一個完整體系。我們認為印度的算板筆算傳統在其發展過程中起了關鍵性的作用。
作者:呂鵬;紀志剛 單位:上海交通大學科學史與科學文化研究院