天才的杰作——珠算開方術(shù)

珠算開方術(shù)從籌算開方術(shù)演化而來,原理基本一樣,只是效率更高。珠算開方最杰出的成就,莫過于朱載堉的十二平均律。十二平均律是現(xiàn)代音樂的基礎(chǔ),核心問題是對2開12次方,這樣就能實(shí)現(xiàn)音調(diào)的循環(huán)。當(dāng)然了,2的12次方可以分解為開兩次平方根和一次立方根,所以原則上只要掌握開平方的辦法和開立方的辦法即可。珠算開方基本上也主要是這兩個,但相對來說,在沒有計(jì)算器的時代里,這已經(jīng)可以處理許多問題了。
開平方和開立方的原理差不多,后者更復(fù)雜一點(diǎn),所以這里就講前者。開平方也有很多種方法,這里講最基本的一種。原理就是利用(10a+b)^2=100a^2+20ab+b^2.
舉例:開5776的平方。
第一步,在算盤上打5776這個數(shù)字,數(shù)字前面至少留一檔。
第二步,確定平方根的第一位,也就是a的大小。方法就是看5776除以100的商數(shù)57,顯然,57對應(yīng)的方根是7。在算盤上5776的前一檔置7,原數(shù)字減去4900,于是得70876。
第三步,確定平方根的第二位,也就是b的大小。方法就是看876除以20的商數(shù)43,顯然43除以7的商數(shù)為6。
將算盤上70876的第二位0變成6,而876則減去20*7*6,得76036。
第四步,檢查最后的36是否開方得6,如果是,則答案得到,即76。
若不是,則開方為小數(shù),繼續(xù)按照之前的辦法重復(fù)進(jìn)行,直到得到需要精度的解。
上述辦法可以容易地推廣到任意位數(shù)的開方。在具體操作時,會有一些簡化的流程或口訣,方便普通人以較快速度完成開方??傊?,與珠算的四則運(yùn)算一樣,最終的開方術(shù)是非常簡便且易于操作的。
近代反思中國古代科技的聲音中,有很大一派是認(rèn)為中國人不會抽象思維,所以無法形成現(xiàn)代科學(xué)體系。這是錯的。只要是可以被稱為“數(shù)學(xué)”的學(xué)科,就一定是抽象的,沒有“具象”的數(shù)學(xué)??陀^的說,中國古代數(shù)學(xué)不是不抽象,而是太抽象,導(dǎo)致了很多具體應(yīng)用存在困難。西方數(shù)學(xué)的基礎(chǔ)是幾何,幾何就是一個相對而言比較“具象”的學(xué)科,因?yàn)辄c(diǎn)、線、面、體總是能夠給人產(chǎn)生直觀印象。
中國古代主要是算學(xué),也就是在一堆數(shù)字之間做各種巧妙的處置,從頭到尾都是數(shù)字,沒有任何圖像,如果抽象思維能力不強(qiáng)的人,很難對這種數(shù)學(xué)模式產(chǎn)生什么感覺。為了避免這樣的數(shù)學(xué)模式難以被人接受,所以中國古代就有了算術(shù),也就是將復(fù)雜的運(yùn)算規(guī)則總結(jié)成簡單的“術(shù)”,一般人不懂其原理,但只要知道“術(shù)”,也就是知道了計(jì)算流程,就可以應(yīng)用了。這有點(diǎn)類似于現(xiàn)代計(jì)算機(jī),我想大多數(shù)人都不會明白計(jì)算機(jī)的軟件是用怎樣的語言寫出來的,大多數(shù)人只要會用這些軟件就行。中國古代算術(shù),就類似于這樣的“軟件”。
西方現(xiàn)代數(shù)學(xué)的發(fā)展,離不開幾何與代數(shù)的合流。代數(shù)在西方出現(xiàn)的歷史很晚,要到文藝復(fù)興以后了,這正是東方的數(shù)學(xué)大量傳入的結(jié)果。有很多證據(jù)表明,中國古代數(shù)學(xué)在西方起了重要的推動作用。這個不再贅述。
中國古代的算學(xué),雖然沒有出現(xiàn)幾何思想、沒有出現(xiàn)現(xiàn)代的微積分和矢量,但我們有另外三樣法寶,完全可以替代。
第一個是數(shù)值插分法,也就是現(xiàn)代微積分中的泰勒展開、保留到高階項(xiàng)。唐朝時候?yàn)榱擞?jì)算日躔月離表,通常是保留到第二階,而郭守敬則是保留到第三階,其精度確實(shí)已經(jīng)相當(dāng)高了。插分法需要一個很重要的工具,就是楊輝三角。這個三角也就是二項(xiàng)式系數(shù)表,主要就是用在泰勒展開時確定展開系數(shù)。有了這個三角,展開到任意多階都是可行的。
第二個是勾股術(shù),中國算學(xué)里沒有點(diǎn)、線概念,最基本的單位就是三角,利用三角勾股術(shù),基本上大多數(shù)幾何問題都能轉(zhuǎn)換為代數(shù),比如《九章算術(shù)》中將螺旋線轉(zhuǎn)換為勾股的題目。
第三個是大衍求一術(shù),也就是同余問題求解,這個可以直接等價到近代的傅立葉變換上。
大衍求一術(shù)的原理,就是把任意一個自然數(shù),展開成另一些數(shù)的線性組合,組合的系數(shù)是根據(jù)余數(shù)為1的規(guī)則去求。這和量子計(jì)算的Shor算法幾乎是同一件事情。關(guān)于大衍求一術(shù)的細(xì)節(jié)及其與矢量代數(shù)的關(guān)系,請見附錄。
中國古代數(shù)學(xué)在今天依舊可以有生命力,正是因?yàn)榇蠖鄶?shù)情況下,實(shí)際的應(yīng)用離不開“術(shù)”的總結(jié)。我們現(xiàn)在這個社會正在從“科學(xué)”為主向“技術(shù)”為主的轉(zhuǎn)移過程。這個轉(zhuǎn)移過程離不開經(jīng)驗(yàn)公式的總結(jié),這就是術(shù)。
舉個例子,我們計(jì)算一個勻加速直線運(yùn)動,在《九章算術(shù)》就有一道非常類似的題目。題目說:“今有良馬與駑馬發(fā)長安至齊。齊去長安三千里,良馬初日行一百九十三里,日增一十三里,駑馬初日行九十七里,日減半里。良馬先至齊,復(fù)還迎駑馬。問幾何日相逢?”
這道題目中,出現(xiàn)了總路程、初始速度、加速度等基本物理量,用現(xiàn)代的力學(xué)方法,完全可以求解(當(dāng)然,答案會與原解有0.2日的偏差,原因是插分法的邊界條件所導(dǎo)致)。原文解法則是利用盈不足術(shù),先設(shè)二馬15日相逢,不足337.5里,16日相逢,盈140里,運(yùn)用盈不足術(shù),則得答案為15.7日。
用我們現(xiàn)代力學(xué)的思維,這樣的做法用到了質(zhì)心及相對質(zhì)心的動力學(xué),已經(jīng)有了加權(quán)平均的思想。這種思想其實(shí)在經(jīng)典力學(xué)中非常重要,因?yàn)榇蠖鄶?shù)情況下,質(zhì)心+相對質(zhì)心都是基本的解體思路,只不過我們現(xiàn)在的教材中還沒有把這個提到很高的程度。
而按照現(xiàn)代物理的標(biāo)準(zhǔn),這道題目正確的做法是列出坐標(biāo)的運(yùn)動方程,積分兩次,即可得到相應(yīng)結(jié)果。但在中學(xué)物理中,我們實(shí)際上學(xué)的是一個總結(jié)好的積分結(jié)果,也就是vt+at^2/2這樣的經(jīng)驗(yàn)公式,利用這個公式就能較為容易地計(jì)算任何勻加速運(yùn)動。
我們的基礎(chǔ)教育中,有大量的情況都是類似的。比如熱學(xué)中的氣態(tài)方程,電磁學(xué)中的安培力等。我們的中學(xué)生沒有使用其原本的微分和積分形式,同樣可以解出相應(yīng)問題,并且在未來實(shí)際應(yīng)用中也依然適用。我們有大量的習(xí)題,填鴨式地讓學(xué)生掌握一些經(jīng)驗(yàn)的“術(shù)”。這樣的教育模式也為我們培養(yǎng)了大量懂得運(yùn)用“術(shù)”的工程師,他們未必會解一個三維空間中帶矢量的梯度微分方程,但他們知道如何動手制作一個電磁鐵、以及導(dǎo)線纏多少圈就能達(dá)到他想要的磁場強(qiáng)度??梢赃@樣說,我們現(xiàn)在的基礎(chǔ)教育模式,并沒有脫離中國傳統(tǒng)算學(xué)的框架。而且現(xiàn)在看來,其行之有效。
西方現(xiàn)代數(shù)學(xué)的核心是函數(shù),函數(shù)是曲線的一種簡單推廣,它可以說是一切現(xiàn)代科學(xué)的基礎(chǔ)。它主要是定量的刻畫關(guān)系。我們中國人最重視的莫過于“關(guān)系”,但我們卻沒有試圖把“關(guān)系”定量化,這是中國數(shù)學(xué)和西方數(shù)學(xué)最大的差別。究其原因,西方數(shù)學(xué)的起源是幾何,幾何的重點(diǎn)就是研究各種曲線及其關(guān)系。最出名的,莫過于古希臘對橢圓的研究,在其基礎(chǔ)上直接誕生經(jīng)典力學(xué)、及其對第谷-開普勒天文體系的解釋。
中國古代甚至找不到任何哪怕與“函數(shù)”這概念接近的一個概念,即使我們已經(jīng)有十分發(fā)達(dá)的方程術(shù)(多元一次方程組)和天元術(shù)(一元高次方程),甚至四元術(shù)(多元高次方程組)。究其原因,主要還是因?yàn)橹袊糯鷶?shù)學(xué)最基礎(chǔ)的單元是三角形,而非點(diǎn)或線,所以沒有人關(guān)心“線”到底是什么。
舉個例子,明清之際西方幾何傳入,曾引發(fā)了中國數(shù)學(xué)家大量討論橢圓之類的問題,也出版了大量著作,比如《橢曲同詮》、《橢圓又術(shù)》、《橢圓正術(shù)》、《橢圓正論》、《橢圓盈縮簡法》、《解徐橢圓正術(shù)》等,這些著作一個重要的關(guān)注點(diǎn),就是如何將用中國古代算面積為主的算術(shù)學(xué)來解釋橢圓。
這里就存在一個問題了,到底函數(shù)是否是必須的?函數(shù)核心的運(yùn)用,是解微分方程。實(shí)際上,不管現(xiàn)代函數(shù)論里出現(xiàn)多么復(fù)雜的特殊函數(shù)、廣義函數(shù),本質(zhì)上都是由冪函數(shù)、三角函數(shù)、指數(shù)(對數(shù))函數(shù)組合而成的,說白了,也就是三類曲線的疊加。
中國古代數(shù)學(xué)既然是以三角為基礎(chǔ),如果任何函數(shù)都能分解成各種三角的組合,那么函數(shù)的意義自然也就失去了。事實(shí)上,的確我們有過這樣的嘗試,典型的成果就是朱世杰的三角垛積術(shù)。其術(shù)的要旨,就是把任何的立體形狀,轉(zhuǎn)化為三角形的疊加。這顯然已經(jīng)觸及函數(shù)的本質(zhì)。如果持續(xù)發(fā)展下去,或許就會誕生完全不同于現(xiàn)代西方數(shù)學(xué)、卻同樣行之有效的一套數(shù)學(xué)體系。或許,在未來某一天,三角垛積術(shù)真的能繼續(xù)發(fā)展,站上其真正應(yīng)用的舞臺。
總體來說,中國古代算學(xué)是把數(shù)值計(jì)算發(fā)揮到了極致,不僅為我們古代的科技進(jìn)步貢獻(xiàn)了巨大力量,直到今天,它留給我們的遺產(chǎn)也相當(dāng)豐富。甚至于,在計(jì)算機(jī)已經(jīng)如此發(fā)達(dá)的今天,數(shù)值計(jì)算正在成為科學(xué)的主要研究手段,那么中國古代算學(xué)完全有可能重獲新生。
事實(shí)上,以吳文俊先生為代表的一批數(shù)學(xué)家,至今仍在致力于古代算學(xué)的發(fā)掘和整理工作,并且還將許多西方幾何學(xué)思想加入到古代算學(xué),使之更能適應(yīng)新時期的科學(xué)需要。我一直相信,在不遠(yuǎn)的將來,數(shù)學(xué)就將回到中國古代算學(xué)家熟悉的那個軌道上。甚至于我們還可大膽估計(jì),數(shù)百年后的科學(xué)體系,仍將是以中國算學(xué)的語言來書寫。那時,我們也將迎來真正屬于中國人的科技世界。