周霄漢
(中國(guó)科學(xué)院自然科學(xué)史研究所,北京 100190)
現(xiàn)存最早的中國(guó)古代算盤的圖像,存在于北宋張擇端繪制的《清明上河圖》中。在畫卷左側(cè)“趙太丞家”藥鋪柜臺(tái)上擺放著一件算盤(1)科技史家嚴(yán)敦杰先生于上世紀(jì)六十年代初發(fā)現(xiàn),珠算史家余介石曾到故宮博物院調(diào)查,推斷為算盤。八十年代經(jīng)攝影放大,算盤圖像比較清晰,得到多數(shù)人的承認(rèn)。見參考文獻(xiàn)[1],第33頁(yè)。。元初畫家王振鵬繪制于元至大三年(1310)的《乾坤一擔(dān)圖》中,挑貨郎的貨筐中插著一件矩形物品,從其露出的部分來(lái)看,與現(xiàn)代算盤的形制已經(jīng)基本接近,可以認(rèn)定是算盤(2)據(jù)華印椿先生所述,該算盤由美術(shù)家錢定一(1915—2010)在民國(guó)時(shí)期有正書局出版的《中國(guó)名畫集》中發(fā)現(xiàn)(見參考文獻(xiàn)[1],第55頁(yè))。該圖像被多部珠算史著作和論文所引用(見參考文獻(xiàn)[1],第35—36頁(yè);[2—4])。然而,有正書局所影印《中國(guó)名畫集》第三十六集中僅注明該畫為“Ping Teng Ko(平等閣)”所收藏。平等閣歸屬有正書局創(chuàng)辦人、晚清民國(guó)時(shí)期的收藏家狄平子(1872—1941)先生。該畫集未注明該繪畫來(lái)源,對(duì)其流傳尚缺考證(見參考文獻(xiàn)[5])?!,F(xiàn)存的多部明代《魁本對(duì)相四言雜字》或《新編對(duì)相四言》[6]這類兒童看圖識(shí)字類的蒙書中,繪制有算盤和籌算算子([1],頁(yè)61—64)。書中算盤圖示清晰可見,共十個(gè)檔位,橫梁之上為二枚算珠,橫梁下為五枚算珠。這兩種算具與水果、衣物、生活用品等混雜排列于書中。這些存在于繪畫作品和兒童蒙書中的算盤表明,在元明時(shí)期算盤似乎已經(jīng)進(jìn)入人們的日常生活,成為較為普遍的物件。相比而言,從現(xiàn)有文獻(xiàn)來(lái)看,數(shù)學(xué)著作中算盤圖像出現(xiàn)得較晚。在明末流傳廣泛的綜合性數(shù)學(xué)著作《算法統(tǒng)宗》(1592)[7]及其刪減精要本《算法纂要》(1598)[8]中均刊刻有算盤圖示。這一時(shí)期眾多包含日常生活各個(gè)方面知識(shí)和技藝的“日用類書”中,如《新鍥全補(bǔ)天下四民利用便觀五車拔錦》[9]《新板增補(bǔ)天下便用文林妙錦萬(wàn)寶全書》[10]等,也將算盤作為其“算法門”中必備的圖像展示。
然而,這些著作中僅僅含有一個(gè)算盤的圖示,被稱作“初學(xué)盤式”或“算盤定式”,展示了算盤在不表示任何數(shù)字的空檔時(shí),或由左至右各檔表示出數(shù)字一、二、三……九的狀態(tài)。盡管有些算書所隱含的珠算的操作能夠通過(guò)其文字的描述推斷出來(lái)[11],但是這些著作并不包含更多的算盤圖示來(lái)幫助讀者操作算盤。亦有如明代吳敬《九章比類算法大全》(1450)的算書,研究者尚不能通過(guò)其中文字描述完全確定當(dāng)時(shí)使用的算具是算籌抑或是算盤([12];[13],頁(yè)570;[14],pp348—381)。
但是十六世紀(jì)末十七世紀(jì)初的著作,如徐心魯?shù)摹侗P珠算法》(1573)([15],頁(yè)1—22;[16]),柯尚遷的《數(shù)學(xué)通軌》(1578)([15],頁(yè)22—57;[17,18])和黃龍吟的《算法指南》(1604)([19],第二冊(cè),頁(yè)1423—1453),是最早一批包含了較多算盤圖示的書。而且,算盤圖示在這些書中扮演了重要的角色,與其周圍的口訣文字一起,借助一種特殊的文本布局形式,共同指導(dǎo)讀者進(jìn)行珠算的學(xué)習(xí)。
此外,另外一部算書《九龍易訣算法》值得我們注意。這部著作的成書年代及作者尚不清楚,只題寫“聯(lián)捷堂允行”。該書在中國(guó)本土未見傳本,現(xiàn)有日本內(nèi)閣文庫(kù)藏本(3)日本學(xué)者兒玉明人1970年曾影印出版(見參考文獻(xiàn)[15],第72—81頁(yè)),亦收錄在靖玉樹所編《中國(guó)歷代算學(xué)集成》中(見參考文獻(xiàn)[20],中冊(cè),第2097—2106頁(yè))。。當(dāng)代學(xué)者一般認(rèn)為該書內(nèi)容淺顯,與《盤珠算法》內(nèi)容較近,有互相抄襲的痕跡,因此對(duì)此書關(guān)注不多([20],中冊(cè),頁(yè)2096;[21])。但本文作者發(fā)現(xiàn)《九龍易訣算法》對(duì)我們理解最早的珠算著作《盤珠算法》中的一些模糊與舛誤之處,具有很大的幫助作用(4)例如,《盤珠算法》第6頁(yè)(下欄)頁(yè)末的問(wèn)題與第7頁(yè)(下欄)頁(yè)初的“答曰”內(nèi)容和算盤圖示無(wú)法銜接(參見參考文獻(xiàn)[15],第3—4頁(yè))。經(jīng)與《九龍易訣算法》對(duì)比可知,《盤珠算法》第6頁(yè)(下欄)頁(yè)末的“答曰”內(nèi)容與第7頁(yè)(下欄)頁(yè)初的問(wèn)題均遺失,通過(guò)《九龍易訣算法》可以恢復(fù)此兩題的原貌?!侗P珠算法》中的刊刻錯(cuò)誤和計(jì)算失誤很多,但從當(dāng)時(shí)操作者的角度而言,有些屬于應(yīng)予糾正的“隨機(jī)性失誤”,而有些則源于他們對(duì)計(jì)算精度和操作方式的系統(tǒng)性認(rèn)識(shí),原文不宜輕易校改。區(qū)分這兩種錯(cuò)誤的依據(jù),可通過(guò)對(duì)比分析《盤珠算法》和《九龍易訣算法》得到,詳見下文。。
二十世紀(jì)以來(lái),無(wú)論是專注珠算歷史的學(xué)者,還是一般的數(shù)學(xué)史家,均對(duì)古代珠算展開過(guò)研究,取得豐富的成果([1—3];[22];[23],頁(yè)315—374;[24])。近年來(lái),國(guó)際科學(xué)史界各國(guó)學(xué)者逐漸變換角度,開始關(guān)注作為算具的算籌和算盤在文本中的視覺再現(xiàn),或以此還原古代某些精細(xì)的數(shù)學(xué)操作和獨(dú)特的“圖”的使用方式[25,26],或探討這些圖示對(duì)數(shù)學(xué)知識(shí)認(rèn)知和學(xué)習(xí)的影響[27]。
針對(duì)《盤珠算法》《詳明算法》《算法指南》等珠算書,陳怡夫的博士論文通過(guò)對(duì)珠算圖示和周圍口訣文本的細(xì)致分析,揭示了這一時(shí)期珠算過(guò)程中不同的撥動(dòng)算珠的方式,也指出這些算盤圖示與當(dāng)時(shí)實(shí)際使用的算盤或許存在差異[28]。Alexei Volkov教授的文章分別分析《算學(xué)寶鑒》中的籌算圖示和《盤珠算法》中的算盤圖示,展示了這些算具圖示在數(shù)學(xué)教育和學(xué)習(xí)過(guò)程中的作用[27]。
但是仍有兩個(gè)問(wèn)題,前人的研究尚未完全解決或未闡釋清晰,本文將予以分析討論:一是在上述各珠算著作的算盤圖示中黑珠和白珠的意義,及其在展示珠算操作中的作用;二是珠算圖示是如何與其周圍的文字相互聯(lián)系,共同展示一個(gè)算法的操作。明白這兩個(gè)問(wèn)題,將使得我們對(duì)了解古代讀者使用和學(xué)習(xí)這些普及性珠算著作的過(guò)程,有更加深入的認(rèn)識(shí)。
黑白兩色的算珠出現(xiàn)在多部珠算著作中,下面的研究將展示,不同著作對(duì)算珠顏色的使用并不遵循同樣的規(guī)則,但是它們確有一些共同性。讓我們先以《盤珠算法》為例,研究其中黑白算珠的表示方法。針對(duì)這些算珠,靖玉樹先生曾提到“在這些圖中,都用黑白珠分別代表‘動(dòng)珠’和‘靜珠’。以說(shuō)明運(yùn)算過(guò)程”([20],中冊(cè),頁(yè)2096)。但是靖先生未詳細(xì)解釋何為“動(dòng)珠”和“靜珠”。陳怡夫先生則有這樣的描述:大多數(shù)的加的結(jié)果通過(guò)激活的(activées)白算珠來(lái)表示,剩下的則為未激活的(désactivées)黑算珠。而相反,減的結(jié)果則通過(guò)激活的黑算珠來(lái)表示,剩下的則為未激活的白算珠。至于在加、減兩種運(yùn)算中黑、白兩色的選擇,陳怡夫推測(cè)或許與中國(guó)哲學(xué)中的陰陽(yáng)概念有關(guān)([28],pp30—31)。
Alexei Volkov教授卻認(rèn)為“算珠的顏色與他們的激活(active)和未激活(passive)的狀態(tài)沒(méi)有聯(lián)系”。其解釋激活狀態(tài)為算珠參與到在算具上表示一個(gè)數(shù)字并被移動(dòng)到(靠向)算盤中部的橫梁,未激活的狀態(tài)是指算珠不表示任何數(shù)字并被移動(dòng)到(靠向)算盤的邊框,并以“第一上法”和“第一退法”中的算盤圖示支持這樣的闡釋(圖1)。Volkov指出顏色實(shí)際上有一個(gè)特殊的作用:白色是用來(lái)指示那些在算具上進(jìn)行最后一次操作時(shí)移動(dòng)的算珠,然而黑色是用來(lái)表示那些沒(méi)有被碰觸的算珠([27],p295)。郭世榮教授和張升執(zhí)筆的《中國(guó)科學(xué)技術(shù)史·數(shù)學(xué)卷》中“珠算的普及與籌算的消失”小節(jié)提及“所繪算盤圖式……用白子或黑子來(lái)區(qū)分已用子或未用子”([13],頁(yè)572),但未詳細(xì)闡述。
圖1 《盤珠算法》中“第一上法”和“第一退法”的算盤圖示([15],頁(yè)1)
為了探究這個(gè)問(wèn)題,我們先對(duì)這些算盤圖示所出現(xiàn)的文本語(yǔ)境作一介紹。《盤珠算法》一書采用了一種較為獨(dú)特的版面結(jié)構(gòu),除首頁(yè)包含人物和算盤的場(chǎng)景插圖之外,所有版面均以黑色橫欄分為兩部分。上欄占三分之一頁(yè)面,下欄占三分之二頁(yè)面。這種版面設(shè)計(jì)與明代眾多日用類書和通俗讀物的排版類似,文學(xué)史家和印刷史家已有關(guān)注和研究[29],指出此排版與明代開始流行的針對(duì)大眾讀物的跳躍式瀏覽的閱讀方式有關(guān)。絕大多數(shù)情況下,上下欄內(nèi)的內(nèi)容沒(méi)有直接的關(guān)系。閱讀的順序基本上是第一頁(yè)的上欄連接第二頁(yè)的上欄,再連接第三頁(yè)的上欄;第一頁(yè)的下欄連接第二頁(yè)的下欄,再連接第三頁(yè)的下欄,等等。
我們所關(guān)注的五十四幅珠算算圖絕大多數(shù)都位于上欄,而位于下欄的算盤圖示與上欄算盤圖示在功能上也有明顯的區(qū)分,本文下節(jié)將會(huì)涉及。該書正文開始的第一頁(yè)的上欄便放置了“第一上法”的算盤圖示和相應(yīng)的口訣。從“一,上一”“二,上二”至“九,上九”,這九句口訣均來(lái)自第一、二頁(yè)下欄的“隸首上訣”。分別表示在每一個(gè)檔位上進(jìn)行“加一、加二……加九”的撥珠操作。比如,“一,上一”,意味著“(如果)要將某一數(shù)位上的數(shù)加一,則要在該檔位向上撥動(dòng)一顆算珠”。當(dāng)然,針對(duì)檔位上原有算珠數(shù)量情況的不同,有不同種撥動(dòng)算珠的方式以實(shí)現(xiàn)加一的目的,比如“一,下五除四”和“一,退九進(jìn)一十”。對(duì)此“隸首上訣”的小字注文分別有清楚的解釋。
如本行下五子俱已在位,今又要上一,則下無(wú)一可上。故于上面下一是五,復(fù)于下面去四,故上得一。
如本位子滿在位,又要加一,卻無(wú)一可加。故幾退去九子,卻于上位還一子當(dāng)下位十子,卻正一也。([15],頁(yè)1)
“第一上法”中各個(gè)檔位上的數(shù)字均為零,只用到“隸首上訣”中最簡(jiǎn)單的操作口訣,需要加幾即在該檔位上撥上幾顆算珠。而被撥上的算珠在“第一上法”的算盤圖示中均為白色。
在第二頁(yè)的上欄位置,出現(xiàn)的是“第一退法”的圖示及口訣。這些口訣均來(lái)自隨后幾頁(yè)內(nèi)下欄的“退法要訣”。分別表示在原有檔位的數(shù)字內(nèi)減去(“退”)某數(shù)時(shí),需要對(duì)該檔位算珠的操作。需要說(shuō)明的是,在進(jìn)行“第一退法”之前,盤上各檔位上是有算珠的,從左至右算珠表示的數(shù)分別是“十、十、十、十、十、十、十、十、一”,“十”以一顆上珠和五顆下珠表示。整個(gè)盤上算珠表示的數(shù)字為“1,111,111,101”。這一數(shù)字是進(jìn)行九次“上法”(即連續(xù)加九次123,456,789)后得到的。在這個(gè)數(shù)的基礎(chǔ)上進(jìn)行的“第一退法”,所得的結(jié)果與算盤圖示基本吻合(5)左起第八檔位梁下應(yīng)有四顆白珠,算盤圖示中遺漏一顆。,而在這個(gè)操作過(guò)程中,被撥下去的算珠以白色表示。因此,僅就這兩個(gè)算盤圖示和圖示下的文字來(lái)看,基本符合Volkov教授的描述,除“第一退法”中左起第九檔外,可以認(rèn)為白珠是形成這種布局的最后操作中被移動(dòng)的算珠。
但這樣的觀點(diǎn)對(duì)其余的“上法”和“退法”的算盤圖示則無(wú)法解釋。我們可以明確,在該書中“上法”和“退法”的算盤圖示雖然逐個(gè)交替排布,但是它們操作上的關(guān)聯(lián)并非如此。華印椿先生曾指出“珠算加減基本功的傳統(tǒng)練習(xí)法有兩種,一種是‘九盤清’或‘七盤清’……九盤清首先見于徐心魯訂正的《盤珠算法》的上法、退法盤式圖。這種方法是在空盤上連加123,456,789九遍……柯尚遷《數(shù)學(xué)通軌》中用‘九九進(jìn)退圖’演算九盤清。程大位《算法統(tǒng)宗》中稱此法為‘九九八十一’。沈士桂《簡(jiǎn)捷易明算法》中稱此法為‘九遍堆垛法’([1],頁(yè)139—140)”。由此,在《盤珠算法》中緊接著“第一上法”進(jìn)行的操作是跳過(guò)“第一退法”后的“第二上法”(6)這種閱讀方式或許跟該書的裝訂方式和使用方式有關(guān)?,F(xiàn)在《盤珠算法》的影印本均將該書從版心處展開,兩頁(yè)內(nèi)容還原為一個(gè)版面。但如果以原線裝的方式去看此書,所有“上法”的算盤圖示及操作口訣均處在今天被稱作書籍偶數(shù)頁(yè)的頁(yè)面上,所有“退法”的算盤圖示及操作口訣均處在書籍奇數(shù)頁(yè)。而且“上法”“退法”的算盤圖示均單獨(dú)位于上欄,在翻閱時(shí)視覺焦點(diǎn)只需停留在書本的固定位置。有理由推測(cè)當(dāng)時(shí)的讀者使用此書作為自己練習(xí)珠算加減撥珠的訓(xùn)練手冊(cè),而在練習(xí)時(shí),一手撥打算盤,書籍并非平攤在桌面,而是僅封面或封底貼靠桌面,另一手以拇指掀翻書頁(yè)。如此視線不必在書頁(yè)上游移尋找,即可參照口訣進(jìn)行撥珠,或者依靠算盤圖示核驗(yàn)撥珠結(jié)果是否正確。(圖2),接著是“第三上法”,直至進(jìn)行了九次加“123,456,789”的“上法”之后(7)“第九上法”中算盤圖示左起第九檔位上算珠表示有誤,該位上的數(shù)字應(yīng)為一。,再在此基礎(chǔ)上,回到書籍第三頁(yè)上的上欄進(jìn)行“第一退法”,減去同樣的數(shù)據(jù),直至九次退法后盤上所有算珠歸零。通過(guò)整個(gè)過(guò)程以達(dá)到訓(xùn)練加減法撥珠口訣和操作的目的。
圖2 《盤珠算法》中“第二上法”的算盤圖示([15],頁(yè)1)
在理解這九次上法和九次退法之后,再讓我們考察其中黑白算珠表示的意義。在“第二上法圖”中可以清楚地看到,根據(jù)算盤下的描述,被圈出的幾個(gè)算珠都是在最后的操作中被移動(dòng)的。從左至右它們分別對(duì)應(yīng)“三,下五除二”中的“除二”“七,上二去五進(jìn)一十”中的“去五”“八,退二進(jìn)一十”中的“退二”珠中的一顆,以及“九,退一進(jìn)一十”中的“退一”。這些所有移動(dòng)的算珠仍然以黑色表示。
實(shí)際上,通過(guò)對(duì)各算盤圖示的考察,我們可以總結(jié),在《盤珠算法》的諸種“上法”的算盤圖示中,首先在“第一上法”里被撥動(dòng)的算珠以白色表示,此后的“上法”中(除了“第九上法”之外),那些已經(jīng)被撥向算盤中部橫梁的算珠總保持白色不變,后續(xù)撥向橫梁的算珠也是白色,而一直靠近頂部或底部邊框或者后續(xù)撥向它們的算珠被著以黑色。簡(jiǎn)單來(lái)說(shuō),除“第九上法”之外,只有白色的算珠是被用來(lái)表示數(shù)的算珠。相反,在諸種“下法”的算盤圖示中,首先在“第一退法”里被撥動(dòng)的算珠仍然以白珠表示,此后的“退法”中,那些已經(jīng)被撥向算盤頂部或底部邊框的算珠總保持白色不變,后續(xù)撥向它們的算珠也是白色,而一直靠近橫梁的算珠以及后續(xù)撥向橫梁的算珠,均著以黑色。即只有黑珠是被用來(lái)表示數(shù)的算珠。而“第九上法”算盤圖示中所有的表示數(shù)的算珠均改為黑色,可以理解為是為銜接“第九上法”和下一步“第一退法”而作的準(zhǔn)備。由此看來(lái),以往學(xué)者對(duì)黑白算珠做“動(dòng)珠”“靜珠”的闡釋并不準(zhǔn)確,黑珠和白珠實(shí)際是與算盤上是否被用來(lái)表示數(shù)字直接相關(guān),雖然在《盤珠算法》的“上法”和“退法”中用來(lái)表示數(shù)的這兩種顏色是恰恰相反的。
接下來(lái)的問(wèn)題是,表示數(shù)的算珠和不表示數(shù)的算珠,通過(guò)與算盤橫梁的遠(yuǎn)近以及算珠之間的距離即可區(qū)別,為何還需要以黑白兩色加以區(qū)分?我們暫時(shí)無(wú)法完全解答這個(gè)問(wèn)題,但另外一部珠算著作《數(shù)學(xué)通軌》中的算盤圖示或許可以給出考慮此問(wèn)題的依據(jù)?!稊?shù)學(xué)通軌》使用白珠和黑珠的規(guī)則與《盤珠算法》有所不同,該書所有的“上法”和“退法”的算盤圖示里,均以白珠作為用來(lái)表示數(shù)的算珠。但《數(shù)學(xué)通規(guī)》中的一些細(xì)節(jié)證據(jù)可以支持這樣的一種論斷:珠算圖示中黑珠和白珠的區(qū)分,似乎只是在印本中突出表示數(shù)的算珠和不表示數(shù)的算珠之間的對(duì)比。
如圖3《算法指南》中算盤圖示的陰影部分標(biāo)注,或是橫梁下方的第一顆算珠距離中間的橫梁非常接近,或是橫梁上面的算珠位置不夠準(zhǔn)確,使讀者難于分辨哪個(gè)算珠在表示數(shù),而哪個(gè)珠并不表示數(shù)。在這種算珠位置分辨不清的情況下,算珠的顏色恰能提供一個(gè)辨別數(shù)據(jù)的依據(jù)。此外,在每一檔位的黑珠和白珠之間,總被設(shè)計(jì)出現(xiàn)一道黑色豎線。這是因?yàn)樵凇端惴ㄖ改稀返乃惚P圖示中,橫梁下部算珠之間的距離并非準(zhǔn)確反映算盤上的真實(shí)情況。表面看來(lái)似乎下部算珠之間的距離是一樣的,然而,黑珠和白珠之間的豎線具有象征意義,它實(shí)則代表了這兩個(gè)異色算珠之間顯露出的貫串算珠的豎桿,表示該處異色的兩顆算珠之間的距離比其他珠之間的距離更大。以上的分析讓我們進(jìn)一步認(rèn)為,在這一時(shí)期珠算著作的算盤圖示中,黑白兩色更重要的作用是用來(lái)對(duì)比區(qū)分表示數(shù)和不表示數(shù)的算珠。黑白算珠之間或出現(xiàn)的豎線,更表明這些算盤圖示具有很強(qiáng)的象征性,并非是對(duì)一個(gè)真實(shí)使用的算具的描摹(8)李儼先生曾提到一個(gè)更重要的區(qū)別,《盤珠算法》一書中雖然描繪的算盤圖示是梁上一珠,梁下五珠,“實(shí)際計(jì)算時(shí),是用梁上二珠,梁下五珠的算盤”(參見參考文獻(xiàn)[23],第307頁(yè)),但未作出解釋。華印椿先生引用日本珠算學(xué)者戶谷清一的發(fā)現(xiàn),通過(guò)對(duì)書中“金蟬脫殼訣法”的例解說(shuō)明,推定算盤是梁上二珠,不是一珠(參見參考文獻(xiàn)[1],第74—75頁(yè))。陳怡夫先生通過(guò)對(duì)歸法口訣的研究也能進(jìn)一步確認(rèn)這一點(diǎn)(參見參考文獻(xiàn)[28],第39頁(yè))。陳認(rèn)為在《盤珠算法》中,作者只畫出需要展示操作結(jié)果的算珠和檔位,僅僅依靠著作中的算盤圖示來(lái)推斷當(dāng)時(shí)所使用的算盤的結(jié)構(gòu)是不嚴(yán)謹(jǐn)?shù)?參見參考文獻(xiàn)[28],第41—42頁(yè))。。
圖3 《算法指南》中的算盤圖示([19],第二冊(cè),頁(yè)1429)
此外,我們進(jìn)一步考察,在這些算盤圖示中,如果暫不考慮《盤珠算法》在“退法”諸圖示中以黑珠表示數(shù)字的情況,綜合各珠算書中的大多數(shù)情況,我們是否可以認(rèn)為白珠表示的是算盤計(jì)算的結(jié)果?在《盤珠算法》中,可以借助一些解答過(guò)程輔以算盤圖示的具體問(wèn)題來(lái)考慮,比如:
如有銀二千六百五十三兩二錢,五百一十五人分之。問(wèn)每人該銀若干?
答曰:五兩一錢五分一厘八毫二絲三忽。([15],頁(yè)3)
如暫不考慮題目數(shù)據(jù)的單位和結(jié)果的“定位”問(wèn)題,這道題可以被簡(jiǎn)化為2653.2與515之間的除法。在《九龍易訣算法》中一道算題與此題描述文字基本相同,問(wèn)題數(shù)據(jù)和答案均完全一致。下文會(huì)回到這道題的整個(gè)計(jì)算過(guò)程,此處只關(guān)注算盤圖示中最右端的兩位用白色算珠表示的數(shù),分別是“二”和“三”,對(duì)應(yīng)“答曰”中商數(shù)的最后兩位“二絲三忽”。無(wú)論是《盤珠算法》還是《九龍易訣算法》,算盤上所有算珠整體表示的數(shù)與題目陳述的答案如用現(xiàn)代小數(shù)表示,均為5.151823。然而以現(xiàn)在的數(shù)學(xué)方式計(jì)算515除以2653.2,得到的正確答案是5.15184466……比較可知,上述結(jié)果最后兩位白色算珠表示的數(shù)實(shí)際上并不屬于我們所認(rèn)為的“正確答案”??墒侨绻凑账惚P圖示下的操作口訣還原其完整的操作過(guò)程(詳見下節(jié)),便會(huì)發(fā)現(xiàn)這兩位數(shù)字是在得到“5.1518”這部分的商數(shù)之后,被除數(shù)(“實(shí)”)所剩的余數(shù)。因?yàn)樵谒惚P的這兩個(gè)檔位上沒(méi)有繼續(xù)進(jìn)行“歸除”的操作,他們便與其他商數(shù)一起保留在算盤上。這兩部算書均將這兩顆白珠表示的數(shù)當(dāng)做了商的最后兩位,故其聲稱的答案也是5.151823。這個(gè)例子表明,大多數(shù)情況下算盤圖示中的白色算珠僅僅表示根據(jù)口訣進(jìn)行操作之后留在算盤橫梁一側(cè)的算珠的最后布局,但是古代的珠算操作者會(huì)將這個(gè)數(shù)據(jù)當(dāng)做問(wèn)題的答案(9)郭世榮、張升曾注意到這個(gè)問(wèn)題,舉了上述算例,并提到書中其他算題也做了同樣的處理(參見參考文獻(xiàn)[13],第572頁(yè))。本文作者認(rèn)為因《盤珠算法》中算盤圖示和文字都有較多舛誤,需配合《九龍易訣算法》或其他算書中算題、解法和圖示,進(jìn)一步認(rèn)為古代操作者具有此種操作和記錄結(jié)果的方式。?!侗P珠算法》中的另一道涉及除法的算題如下:
如有前銀二百六十五兩三錢二分買米,每石價(jià)銀二錢九分。問(wèn)該銀若干?
答曰:九百一十四石八斗六合九勺。([15],頁(yè)3)
其算盤圖示中白珠表示的數(shù)據(jù)對(duì)應(yīng)914.8954。同樣的題目,在《九龍易訣算法》中“答曰”的結(jié)果為“九百一十四石八斗九升一合九勺”,算盤圖示中白珠表示的數(shù)據(jù)對(duì)應(yīng)964.8914。暫不考慮單位的情況下,該題可以簡(jiǎn)化為計(jì)算以0.29除265.32的商值,其真實(shí)的結(jié)果應(yīng)為914.896552……然而兩部算書中該題聲稱的答案均與算盤圖示中的白珠表示的數(shù)有出入,也均非正確的答案。但是知道了白珠的意義以及算書作者理解“商數(shù)”的方式,我們可以了解這些矛盾數(shù)據(jù)背后的原因,知道這些算盤圖示錯(cuò)誤的類型:哪些地方僅僅是刊刻的隨機(jī)性失誤(如《盤珠算法》“答曰”中的“六合九勺”應(yīng)為“一合九勺”,算盤圖示最右側(cè)檔位算珠“五”應(yīng)為“九”;《九龍易訣》算盤圖示左起第二檔位算珠“六”應(yīng)為“一”,最右側(cè)檔位算珠“五”應(yīng)為“九”),哪些地方是系統(tǒng)性誤差(如兩書算盤圖示的最右側(cè)兩檔位算珠應(yīng)為“一”“九”,不宜按今之計(jì)算結(jié)果校改)(10)Volkov教授在其文章中列舉《盤珠算法》各題的數(shù)據(jù),包括“答曰”后的結(jié)果、現(xiàn)在計(jì)算的正確答案,以及算盤上表示的數(shù)據(jù)。Volkov首先指出這些數(shù)據(jù)之間的差異,但并未分析這種差異產(chǎn)生的可能原因。。
在考查算珠顏色的含義和作用之后,讓我們分析算盤圖示整體與其周圍的操作口訣之間的關(guān)系,以及它們是如何在一起通過(guò)特殊的文本排布形式來(lái)展示完整的珠算操作的。與“上法”“退法”“因法”“歸法”置于頁(yè)面上欄的算盤圖示不同,包含算盤圖示的具體算題被置于下欄,占據(jù)更大的頁(yè)面空間(圖4)。仍以上述可簡(jiǎn)化為“以515除2653.2”的題目為例,一道完整的包含解答和算盤圖示的除法算題包含如下幾個(gè)部分:題目問(wèn)題、答案、算盤圖示(上方標(biāo)注被除數(shù)“實(shí)”、右下方標(biāo)注除數(shù)“法”)、提示撥珠操作起始端的語(yǔ)句“此邊打起”、提示所用計(jì)算方法的標(biāo)題“歸除式”和提示計(jì)算得以逆向驗(yàn)證的語(yǔ)句“乘法還原”,以及每個(gè)檔位上算珠操作所依據(jù)的“口訣”及具體移動(dòng)算珠的文字描述。
圖4 《盤珠算法》中包含算盤圖示的算題([15],頁(yè)3)
這些元素以一種特殊的文本形式排布,共同向其讀者展示一道除法運(yùn)算的操作過(guò)程。其中內(nèi)容最多、對(duì)理解珠算操作最重要的是最后一部分“珠算口訣及移動(dòng)算珠的文字描述”,而有關(guān)這部分文字閱讀的順序和方式是解讀珠算操作的關(guān)鍵。雖然中國(guó)古代書籍的閱讀方式是以從上至下、從右至左,題問(wèn)部分和“答曰”部分仍然遵循這樣的閱讀方向,但是這些口訣的閱讀方式則較為復(fù)雜,與正常閱讀方式迥異。具體來(lái)說(shuō),這段文字可以分為十個(gè)片段:a.五二倍作四,逢五進(jìn)一十。b.五除五,五五二十五,二除十還八,五除十還五。c.逢五進(jìn)一十。d.一除一,一五除五,五除十還五。e.五二倍作四,逢五進(jìn)一十。f.五除五,五五除二十五,二除十還八,五除十還五。g.逢五進(jìn)一十。h.一除一,一上四去五,一五除五,五除一還五。i.五四倍作八。j.八除八,八除十還二,五八除四十,四下一去五。
在每一個(gè)片段內(nèi),文字仍是大小字連續(xù),并先閱讀右側(cè)一列再讀左側(cè)。而針對(duì)這些片段,需要遵循算盤圖示左側(cè)“此邊打起”的指示,從左上側(cè)的片段a開始讀起。每一個(gè)片段的口訣均指示著在這一檔位及其相鄰的檔位上算珠的操作。例如,“五二倍作四”,這句來(lái)自“九歸口訣”中的語(yǔ)句,意思是以“五”除這個(gè)檔位原有的數(shù)字“二”時(shí),將該檔位上的數(shù)字“二”變?yōu)椤八摹?。同樣?lái)自“九歸口訣”中的“逢五進(jìn)一十”,表示某一檔位上的數(shù)字等于或大于五時(shí),那么用“五”來(lái)除該檔位上的數(shù)時(shí),需要先進(jìn)行“逢五”便向其前一檔位進(jìn)“一”的操作。片段b中的文字表示在得到該位的商“五”之后,用該位上的商分別乘以除數(shù)(“法”)余下的兩位:“一”和“五”。再在原來(lái)表示被除數(shù)(“實(shí)”)的白珠內(nèi)“減去”(11)口訣中使用的術(shù)語(yǔ)為“除”,為“除去”之意,表示“減”。乘得的結(jié)果。商數(shù)“五”和除數(shù)“五一五”中的“一”乘得的結(jié)果為五,即片段b中“五除五”之意,需在相應(yīng)的檔位減去“五”。另外,“五”和“五一五”最后一位的“五”相乘結(jié)果為“二十五”,需在相應(yīng)的檔位上分別減去“二”和“五”(12)具體而言,在商“五”的檔位之后的第二位減去五,在此“減五”的檔位上再減去二,在商后的第三位上減去五。。而最后的“除十還八”和“除十還五”則是針對(duì)檔位上原有不同的算珠數(shù)而進(jìn)行的減“二”和減“五”的操作。
這些口訣的用法和“歸除”法的原理在珠算史研究中已經(jīng)比較清楚([1],頁(yè)241—248),并非本文的重點(diǎn)。這里要強(qiáng)調(diào)的是這些口訣所在位置的重要意義。在《中國(guó)科學(xué)技術(shù)史·數(shù)學(xué)卷》中,作者給出這段口訣的文字轉(zhuǎn)錄([13],頁(yè)571),雖然口訣的執(zhí)行順序完全正確,并在原文的文本形式之外區(qū)分了某些大小字以顯示不同層次的操作,但是這種單純對(duì)算珠操作的文字描述缺少了文本位置信息和布局結(jié)構(gòu),省略了操作口訣和檔位的對(duì)應(yīng)關(guān)系,這就難以還原當(dāng)時(shí)的讀者通過(guò)這種文本來(lái)學(xué)習(xí)珠算操作的實(shí)際情景。
如圖4所示,原始的文本狀態(tài)是片段a被置于算盤圖示左起的第一個(gè)檔位之下,而a中兩句口訣操作的結(jié)果均落在這個(gè)檔位上。這也是它們被有意刊刻為雙行小字的原因,是為了能在狹小的版面布局中置于同一檔位下方。在《九龍易訣算法》中因?yàn)檎麄€(gè)頁(yè)面并不分為兩欄,有足夠的縱向空間,片段a中的口訣則為一列,亦放置于進(jìn)行該操作的檔位下方。該檔位橫梁上方的一顆白色算珠即表示撥珠“四”和“一”之后的結(jié)果。其他口訣片段的位置也是如此。經(jīng)過(guò)對(duì)從左至右每個(gè)檔位的算珠執(zhí)行其下口訣片段所指示的操作,由口訣片段a到b,由b到c,一直到j(luò),最終可得到盤上白色算珠的布局,即是被當(dāng)時(shí)操作者認(rèn)為的計(jì)算結(jié)果。
此外,在這些珠算操作口訣的內(nèi)部,根據(jù)算法性質(zhì)或運(yùn)算層次的不同,還被分為兩個(gè)部分。片段b、d、f、h、j被特意放置在一個(gè)黑色的方框內(nèi),這個(gè)方框在《盤珠算法》中或模糊不清,但在《九龍易訣算法》中均清晰可見。就除法而言,方框中口訣指示的操作是用已得的某位上的商數(shù)與除數(shù)(“法”)余下的位數(shù)分別相乘,并在被除數(shù)(“實(shí)”)中減去乘積的操作。而在黑色方框中每個(gè)第一句開頭出現(xiàn)的數(shù)字也就是構(gòu)成商的各檔位上的數(shù)字,并且從現(xiàn)代角度看,是商的精確值部分(13)有算盤圖示的乘法算題情況稍復(fù)雜,在《盤珠算法》中有黑框包圍口訣的算題,其對(duì)應(yīng)的《九龍易訣算法》中算題的口訣外沒(méi)有黑框,而《盤珠算法》中沒(méi)有黑框包圍口訣的算題,其對(duì)應(yīng)的《九龍易訣算法》中算題的口訣卻有黑框。我們推測(cè)在乘法算題下應(yīng)均存在黑框,黑框內(nèi)的口訣是用于指導(dǎo)乘數(shù)的首位去乘以該檔位上被乘數(shù)的數(shù)字,即對(duì)應(yīng)著該算書乘法口訣內(nèi)“卻將本位破其身”的操作。這種乘法在珠算史上被稱為“留頭乘”,在朱世杰和吳敬的著作中即已出現(xiàn)(參見參考文獻(xiàn)[30];[14],第352—374頁(yè))。最后一步操作較為特殊,在乘完乘數(shù)的末尾數(shù)字之后跳用其首位數(shù)字乘以被乘數(shù),且乘得結(jié)果將改去被乘數(shù)上的數(shù)字,因此推測(cè)有必要將其單獨(dú)列出,以黑框加以強(qiáng)調(diào)。。
盡管《盤珠算法》中的算盤圖示有一些特別之處,但它仍體現(xiàn)出十六世紀(jì)一批包含算盤圖示的珠算普及著作中使用算盤圖示的基本規(guī)律。在大多數(shù)情況下,黑白兩色的算珠并不是為了表現(xiàn)算盤操作中對(duì)算珠的移動(dòng),它們并沒(méi)有直接指導(dǎo)算書的學(xué)習(xí)者如何撥動(dòng)算珠、撥動(dòng)哪顆算珠的作用。不考慮《盤珠算法》中“退法”的特殊用法,一般而言,白珠是算盤圖示上用來(lái)表示數(shù)的算珠,黑珠是算盤圖示上不參與表示數(shù)的算珠。黑白兩色增強(qiáng)了這兩種算珠的對(duì)比,這在算盤圖示刻制不精、算珠位置難以辨別的算書中尤其重要,成了讀者識(shí)別算盤上數(shù)字的依據(jù)之一。算盤圖示可能僅是象征性地展現(xiàn)需要表示數(shù)的那部分,并非是對(duì)當(dāng)時(shí)操作者實(shí)際使用的算具的描摹。此外,在具體算題的算盤圖示中,白珠表示的是經(jīng)過(guò)口訣指導(dǎo)的操作之后,保留在算盤上的用來(lái)表示數(shù)的算珠布局。珠算操作的結(jié)果是正確的,但是在文字記錄答案時(shí)與現(xiàn)代不同。當(dāng)時(shí)算書的編纂者將盤上白珠所表示的數(shù)據(jù)作為他們接受的算題的答案,兩者的差異反映了珠算與現(xiàn)代數(shù)學(xué)之不同。明白古人所采取的這種“記法”可以幫助我們理解與區(qū)分《盤珠算法》等算書中不同性質(zhì)的“錯(cuò)誤”,是偶然的刊刻失誤,還是系統(tǒng)性的認(rèn)知問(wèn)題。算題下的算盤圖示并非孤立存在,它們與其周圍的文字緊密聯(lián)系,這些視覺輔助圖示與口訣內(nèi)容用一起,借助獨(dú)特的文本布局,使讀者得以掌握珠算操作的方法。并非僅僅是文字內(nèi)容,豐富的圖示、排版元素和排版形式是明代出版物逐漸出現(xiàn)的顯著特征,這也是珠算書籍不同于其他依靠“線性閱讀”的傳統(tǒng)文本的一個(gè)重要特點(diǎn)。這些文本細(xì)節(jié)均可成為當(dāng)代科技史研究關(guān)注與分析古人學(xué)習(xí)和實(shí)踐數(shù)學(xué)活動(dòng)的有效途徑。本文通過(guò)探討珠算物質(zhì)實(shí)作與文本之間的關(guān)系,亦希望使科學(xué)史界更加重視實(shí)作和物質(zhì)文化的研究趨勢(shì)。
致 謝本文曾在以“科學(xué)的視覺、物質(zhì)和感官文化(Visual,Material and Sensory Cultures of Sciences)”為主題的第九屆歐洲科學(xué)史學(xué)會(huì)國(guó)際研討會(huì)(線上會(huì)議)分會(huì)場(chǎng)“古代世界數(shù)學(xué)中的視覺和物質(zhì)文化(Visual and Material Cultures in the Mathematics of the Ancient World)”中報(bào)告,感謝組織者Karine Chemla研究員和Adeline Reynaud博士提供的幫助。感謝本文匿名審稿人的建議!