







印度是世界上文化發達最早的地區之一.古印度的數學家多以天文學為職業,取得的數學成果多半是根據經驗總結,很少給出具體的推導和證明,因此,古印度在算術、代數和三角知識方面取得了較大的成就.
十進位值制記數法和印度-阿拉伯數碼的出現,不僅在數學史上,在全人類文化史上都具有十分重要的意義.這種記數法的產生和完善經歷了相當長的時期.
在十進位制記數系統建立以前,在印度出現過各種不同的數字和記數法,現在很難研究出它們之間的承襲關系.從公元前4世紀到公元3世紀,在現今的東阿富汗地區和旁遮普北部風行的所謂音節數字(圖1)與當時的古印度音節文字有關.這可能是一種十進非位值制系統.數字1,4,10,20和100用特殊記號表示,其它數由加法原則寫出,數字從右往左書寫.
很久以來,在印度廣大領土上傳播著婆羅門數字,這是十進位記數法發展的較高階段,這種數字形式保持了一千多年(圖2),佛教和婆羅門數字一起被傳入其它國家,在個別地區,這種數字一直沿用到19世紀.
一般說來,在印度的各種數字系統中,至少從公元前2世紀起,數字1,2,…,9就存在單獨的符號,這些特殊符號的存在是產生十進位值制記數法的基礎.單位1出現在表示單數事物,如“太陽”“月亮”的詞語中;而數字2出現在“雙生子”“眼睛”“手”這類詞語中;數字5出現在“感官”(即五官)“手掌”這類詞語中;等等.數字的書寫順序是從低位向高位,古印度歷數書中的天文表就用這樣的順序表示數字,缺位時用特殊符號標出.
阿耶波多Ⅰ(āryabha?a,公元476年-550年)的著作中用音節表示數字,完全沒有位值制的特點.每一個數k·10n(k=1,2,…,9;n=0,1,2,…)都被特殊音節所代替,豐富的梵文字母能夠給充分大的數字命名.但是,他的學生——婆什迦羅(Bhāskara,公元540年-629年)卻改進了這種記數法,使數字的音節具有位值性,他還引進了表示空位的音節.
大約在6世紀上半葉,印度人改變了數字中數位的書寫順序,開始從高位向低位書寫,這可能是受希臘人的影響.位值制記數原則包含這樣三個因素:1.每一位數都由該數位單位乘以相應的數字;2.省略每個數位單位的符號;3.用確定的符號(零號)表示任何數位上的空缺.所有這些因素在印度首先是局部地、口頭地應用,然后過渡到廣泛地、文字上地普及.不晚于6世紀,在印度產生了新的、整數的十進位值制記數法,即用9個數字和表示零的小圓圈可以寫出任何數字,每個位置上的數字有明確意義,同一個數字在不同位置上則代表不同數值.
7世紀中葉,印度的記數法開始向西方傳播.8世紀末,這種記數法傳入巴格達哈利發的宮廷中,經阿拉伯人的改進傳入歐洲后就被稱為印度—阿拉伯數字了.
印度的算術文獻中記載了整數和分數的八種運算:加法、減法、乘法、除法、平方、開平方、立方和開立方.某些運算是有明確定義的.
例如,阿耶波多Ⅱ(AryabhataⅡ)定義加法是把一些數合并為一個數,而減法則是從一個數中拿掉其中一部分.婆什迦羅Ⅱ認為乘法和除法可以相應地轉化為加法和減法.
古印度廣泛使用計算板.梵文中“算術”一詞就是由“計算”和“板”兩個詞復合而成的.但是在更早的時期,稍復雜的運算是在用貝殼作成的古算盤上進行的.計算人員手拿一個裝有幾百個長形貝殼的口袋,在算盤各欄中擺出數字1,2,…,9;還有12個圓形貝殼,用來表示零.例如數字52077被擺成圖3的形狀.斜線表示長形貝殼,圓圈表示零.現在正統的佛教徒——婆羅門學者還使用這種方法進行計算.
使用算盤計算需要熟記一些法則,即加法的進位和減法的借位.乘、除法則在加、減法的基礎上進行.
記載算式的文獻很晚才出現.在古代,凡是書寫出來的數字不是為了進行計算,而是為記錄經文中出現的年代.后來出現了文字運算,但只給出結果而沒有中間運算步驟.這是因為當時的計算工具是一個鋪滿沙土的盤和一根削尖的木棍.字要寫得比較大才能認清,這樣一個數在完成它的作用后就被擦掉,以保留書寫的空地.
加法是從最高數位開始進行計算.例如345+488是這樣進行的:把一個數寫在另一個數的下面,對齊數位,并在書寫板的上端留出一些空地.3+4=7,把7寫在最左一列的上頭;然后4+8=12,把7改為8,后面寫上2,因此7被擦去,而改為82;最后5+8=13,把82中的2改為3,后面再寫個3,就得到結果833”(圖4).
做乘法有幾種不同的方式.比如,在沙土板上寫出
首先將5×12,把5擦掉,寫上60, 再把乘數12向左移動一位,得到
然后將3×12,得36,把6加在1360的6上,擦去其中的6,寫上2,往3上加1,把1360中的3改為4,再移動乘數12,得到
最后將1×12,把2加在4上,擦掉4,寫上6,1字保留不動,得乘積為1620.
另一種計算乘積的方法,與我們現在的程序語言很接近.在計算板上畫出彼此垂直的方格,再把每個格子都用同個一方向的對角線分開,沿著格子的兩個邊寫上乘數,將中間的乘積寫在右下方三角形中,在需要進位時將所得的結果記在左上方三角形中,然后依對角線進行加法運算.還是以135×12為例,這種方法的程序為
有時為了化簡運算,古印度人會采取一些簡單變換,如135×12=135×(12+8)-135×8或135×12=135×(12-2)+135×2.
印度人的算術運算方法,后來被阿拉伯人和歐洲人所采用.
帶有數字0的運算是位值制系統計算的重要內容.印度人不僅僅把0看作是“一無所有”或空位,而且把0看成是一個數.這是對印度算術作出的一大貢獻.這種做法在3世紀時已經出現.在天文學家瓦拉哈米希拉的《五大歷數全書匯編》(約505年)中記載了對零實行的加、減運算.
一個多世紀以后,婆羅摩笈多在他的著作中給出了比較完整的敘述:“負數減去零是負數,正數減去零是正數,零減去零還是零;零乘正數、負數或零都是零……零除以零空無一物,正數或負數除以零是一個以零為分母的數.”婆什迦羅Ⅱ把a÷0稱為Khahara,與無窮大的含義相似.
在印度算術中,分數也有較完整的理論.分數的寫法與中國古代算籌分數記法一樣,分子在上,分母在下,沒有分數線.若是帶分數,則需將整數部分寫在分子之上.例如
在進行整數與分數運算時,把整數寫成分母是1的分數.分數四則運算用下列法則:
在某些情況下,需要把一個分數化為幾個單位分數之和,然后進行計算.
在印度,關于開平方和開立方的最早記錄出現在阿耶波多Ⅰ的著作中.他把運算法則用詩歌的形式寫出來,這是很難理解的.9世紀數學家施里德哈拉
所敘述的法則較為詳細.我們以54756的開平方為例說明他的方法.
寫出數字54756,在其奇數位的上方畫出豎線,在偶數位的上方畫出橫線,得到
找出不超過5的最大平方數,即4,把它寫在下一行,并從5中減去4 ,得到
用14除以4,商3余2,擦去14,寫上2,得到
從27中減去3的平方,即9,余18,擦去27,寫上18.把3加倍后寫在4的后面,得到
重復上面步驟.185除以46,商4余1,擦去185寫上1,得到
從16中減去4的平方,得零,擦去16,把4加倍寫在46后面,最后把468除以2得234.這就是54756的平方根.
這種程序與中國《九章算術》中開平方的計算步驟有所不同.對于分數a/b,如果分母b不是完全平方數,那么需要將其變換為ab/b,再進行計算.為了提高精確度,古印度數學家在分子上乘上10的偶數次冪.
由于在計算板上運算不能保留中間運算的步驟,所以印度學者采用一種被稱為棄9法的驗算方法,它的依據是這樣的一個事實:任何整數和它的各位數字之和除以9的余數相同.阿拉伯算術中也采用棄9法驗算,這來源于印度,后來又傳入歐洲.
在印度的算術著作中,有大量豐富多彩的以詩歌形式表述的算術問題.這些問題涉及了假位法(單設法和雙設法)、三位法、百分率和級數等.其中還有大量來源于實踐的問題,也有一些是純粹作為消遣和娛樂的題目.
在這些問題中單設法占相當的比例.印度數學家馬哈維拉(Mahāvīra)?用單設法解決了大量的代數和幾何問題.婆什迦羅Ⅱ也研究過這種方法,他的《麗羅娃提》中有這樣一個問題:“從一束清潔的蓮花取出其三分之一、五分之一和六分之一,分別獻給濕婆、毗瑟拏和蘇利耶,再給布赫瓦尼四分之一,只剩下6只蓮花,送給尊敬的教師,請說出蓮花的數目.”婆什迦羅Ⅱ設所求數為60,即3,4,5,6的最小公倍數,由此可術得出應剩3只蓮花,則所求的的解為60*6/3=120.
在被發掘的古印度數學手稿《巴赫沙里手稿》中,單設法不僅用于解形如ax=c的方程,還應用于解形如ax+b=c的方程.如設x1為所求數,由此得出
三位法在印度算術中占核心地位,它能夠簡便地解決各種實際問題.三位法就是求下列具有三個已知數a,b,c的比例式中的x.婆羅摩笈多認為:“在三位法中,第一項與第三項必須是同類的(單位相同的數量),第二項、第三項相乘,以第一項除得結果.”
婆羅摩笈多還提出了“反三位法”.即求比例中的x.例如中世紀著名的工程問題:“a個人完成一項工作要用b天,問同一項工作c個人做要用多少天?”后來還出現了“五位法”“七位法”“九位法”和“十一位法”.
以“五位法”為例,五位法就是求滿足比例式中的x,易求出x=abd/ce.顯然,五位法解決了兩個三位法的問題.同理,七位法中就有三個三位法,如此類推.
三位法從印度傳到西方,在幾個世紀之內都是解決算術問題的主要方法,直到19世紀,歐洲學校的教材才逐漸取消了三位法.
縱觀古印度的數學發展,不難發現印度的算術簡單實用,數學家也并不多.和中國的數學發展歷程有很多相似之處.