發刊日期 |
2012年12月
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
標題 | 傳統數學的千年等數和乘率之謎 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
作者 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
關鍵字 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
檔案下載 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
全文 |
一、引言線性不定分析問題肇始於天文曆法萌芽時期, 昌明於歐洲文藝復興的近代數論, 上下兩千年, 縱橫歐亞大地。古希臘、古中國、古印度學者, 都為人類文明史留下濃重的一筆。 整數對的輾轉相除現象, 各量錯綜, 序列值計算繁雜。受天象觀察、曆法研究的刺激, 一代代數學家深掘寶藏, 設計算法。出於文明的不同, 研究出發點的不同, 認識程度的不同, 演算工具的不同, 會有多種敘述形式, 更增加了研究的複雜性和趣味性。 一切整數對, 因自然餘數除法序數的奇、偶, 分成彼此獨立的兩大類, 數理上這個固有本性考驗著古今中外眾多算法的普適性和完善性。 三大數理潛力點的提法, 能幫助我們剖析兩千多年來不定分析算法演進的歷程。 公元前300年就出現的原始歐幾里得求最大公約數輾轉相除法$^{[1]}$, 體現潛力點II。 1801年, 高斯的線性同餘式序列解法$^{[2]}$是潛力點I、II、III的完美結晶。 1247年秦九韶的大衍求一術, 同樣無愧為三大潛力點的完美結晶。「數書九章」$^{[3]}$保存的1208年開禧曆求乘率籌算原圖, 以等數標誌乘率, 顯示從潛力點II、III結合的求等數術除法形式, 發展成潛力點 I、II、III結合的求乘率術, 揭開了千年上元積年算法發展之謎。 借助整數對6172608和16900輾轉相除, 我們闡述潛力點含義, 列出序列值計算表。 1、單位1是整數論的基石, 構成潛力點I。 最小的自然數是1。整數對互質時, 最大公約數是1。常數值不同而其他各項完全相同的線性不定方程 $ax=by + c$ 或線性同餘式 $ax \equiv c ({\rm mod}\, b)$, 常數 $c$ 中只有一個能取單位1。所謂要解出未知數 $x$ 的值, 必須謀取 $x$ 的係數為1。 2、帶餘除法的迭代稱潛力點II, 帶動序列值計算的進行。 為統一研究東西方不定分析史料, 我們設計了序列值計算表。全表縱向結構如下: 第一列是整數對118704和325, 遞互除之到餘數0, 有餘數集合79、9、7、2、1和0。 第二列用52倍的整數對6172608和16900, 遞互除之得 $104 = 52\!\times\! 2+0$, 餘數集合為 4108、 468、 364、 104、 52 和 0。 兩列最後一個非零餘數1(或52), 稱自然餘數, 連同後續餘數0, 組成自然餘數分支。 第三列是六個商365、4、8、1、3和2。代入序列值公式, 計算出的 $Q$ 序列值, 載第四列, $P$ 序列值, 載第五列。 橫看表中每一行, 以除法為主導, 以商銜接, 導出兩個序列值, 合稱一個循環。 現代數論教科書上有定理深刻揭示, 兩個正整數 $a$、$b$ 不必互質, 每一步都能找到 $P$ 序列值、 $Q$ 序列值的線性組合, 等於正負號交替的相關餘數, 總有一步, 等於最大公約數。 序列值線性組合定理$^{[4]}$: 若 $a$、$b$ 是任意兩個正整數, \begin{eqnarray*} &&\hskip 25pt Q_ka-P_kb=(-1)^{k-1}r_k,\hskip 3.3cm k=1,2,\ldots,n,\\ {\hbox{其中}} &&\hskip 25pt P_0=1\ P_1=q_1,\ P_k=q_kP_{k-1}+P_{k-2},\ \qquad k=2,\ldots,n,\\ &&\hskip 25pt Q_0=0, Q_1=1,\ Q_k=q_kQ_{k-1}+Q_{k-2},\qquad k=2,\ldots,n. \end{eqnarray*} 3、潛力點III商數損一調節舉措, 是序列解算法的關鍵操作。損, 取微減之意。 在餘數 0 除法 $104=52\!\times\! 2+0$ 中, 商 2 減去 1, 改成除法 $104=52\!\times\! 1+52$ 中, 餘數 52 等於除數 52。 餘數 52 稱為調節餘數, 與後續餘數 0 組成調節餘數分支。 序列值計算表中以兩條通欄說明, 展示兩個餘數分支的結構。 因自然餘數除法序數的奇、偶, 存在著彼此獨立的兩大類整數對, 各舉一個具體數例。 奇序數類整數對, 選自然餘數 52 除法序數 5 (奇) 的 6172608、16900 為代表。 中間三列用雙線界定, 呈現 1208 年開禧曆求乘率術原算圖的數理背景。 第五列 $P$ 序列, 只在分析不定方程時才有用。 遵照高斯不定方程 $ax=by\pm 1$ 的 「$a$不小於$b$」 約定, 以求乘率術原算圖首圖的右上 $r_1$ 作為初始狀態, 表中各餘數的籌算上、下位可據此排定。 偶序數類整數對, 選自然餘數 1 除法序數 10 為偶的 120365856000、 499067 作代表。 為節省篇幅, 計算表中略去中間的七次除法。 表1: 6172608和16900序列值計算表(自然餘數除法序數為奇)
表2: 120365856000和499067序列值計算表(自然餘數除法序數為偶)
序列值計算表的基礎是潛力點II和潛力點III, 表中各值只局限於入算兩數原範疇。 二、求最大公約數輾轉相除輾轉相除 6172608 和 16900 到餘數 0 而止。 取表 1 第 2 列第 6 次除法餘數 0 除法 $104= 52\!\times\! 2+0$ 的除數值 52, 或取第 5 次除法 $364 = 104\!\times\! 3 + 52$ 的餘數值 52, 作最大公約數。 今天中學生常用的這個算法, 是現代歐幾里得求最大公約數輾轉相除法。 原始的歐幾里得算法見於「原本」(約公元前300年)一書的卷七命題1和2, 但這大概不是他自己的發明。學者們相信, 這個方法大約在那之前200年就已經知道了, 至少以它的減法形式, 而且幾乎肯定為歐多克索斯(約公元前375年)所知。 當時的希臘數學家不認為1是另外的正整數的「因數」。兩個正整數或者都為1, 或者互質, 或者有一個最大的公因數。 事實上, 1 甚至不被認為是一個「數」, 0 當然是不存在的。 歐幾里得實際上依賴於一個數除以另一個數的餘數, 由於沒有0的簡單概念, 說不出一個數整除另一個數時的餘數是什麼$^{[5]}$。 當年的原始歐幾里得輾轉相除法, 把整除作為終止輾轉相除法的標誌, 取表1第6次整除除法 $104=52\!\times\! 2$ 的除數值 52, 作最大公約數。 兩法都可處理一切整數對, 求出最大公約數, 具有普適性和完善性, 我們合稱為求最大公約數輾轉相除法。 三、求解輾轉相除3.1. 高斯的原文原意高斯「算術研究」(1801年)第27節正文如下: 現在需要增加解同餘式方法的細節。我們首先觀察形如 $ax + t \equiv u$ 的同餘式, 這個同餘式是依賴於 $ax \equiv \pm 1$ 的, 這裡假定它的模對於 $a$ 互質;因為如果 $x \equiv r$ 滿足後者, 則有 $x \equiv \pm (u- t) r$ 會滿足前者。而不定方程 $ax=by \pm 1$ 與以 $b$ 為模的同餘式 $ax \equiv +1$ 等價。我們已經知道怎樣來解它, 從而可以給出計算方法。 如果量 $A$、$B$、$C$、$D$、$E$ 等等以下列形式依賴於 $\alpha$、 $\beta$、 $\gamma$、 $\delta$, 等等, 這樣, $$A=\alpha ,\ B=\beta A+1,\ C=\gamma B+A,\ D=\delta C+B,\ E=\varepsilon D+C, \hbox{等等。}$$ 為簡便計, 我們寫成 $$A=[\alpha ],\ B=[\alpha, \beta ],\ C=[\alpha, \beta, \gamma ],\ D=[\alpha, \beta, \gamma, \delta ],\ \hbox{等等。}$$ 現在我們考慮不定方程 $ax=by \pm 1$, $a$, $b$ 是正數, 不妨假定 $a$ 不小於 $b$。 現在通過求兩個數最大公約數的已知算法, 用普通除法構成等式 $$a=\alpha b+c,\ b =\beta c+d,\ c=\gamma d+e, \ \hbox{等等, }$$ 使得 $\alpha$、 $\beta$、 $\gamma$ 等等, $c$、$d$、$e$ 等等是正整數, 數值遞降, 直到 $m = \mu n+1$, 這總是可以做到的, 結果會是 $$a = [n,\mu ,\ldots,\gamma, \beta, \alpha ],\qquad b = [n, \mu ,\ldots,\gamma, \beta ].$$ 如果我們取 $x = [\mu, \ldots,\gamma, \beta ]$, $y = [\mu, \ldots,\gamma, \beta, \alpha ]$。 當 $[\alpha, \beta, \gamma, \ldots,\mu, n]$ 項的個數是偶數時, 我們有 $ax=by +1$, 當項的個數是奇數時, 我們有 $ax=by-1$。 這就是所要做的(Q.E.F.)。 高斯的不定方程序列解的線性同餘式解法, 是潛力點I、II、III的完美結晶。 當今世界不定分析史研究十分活躍$^{[6]}$。 高斯這段深刻論述, 無疑是統一研究東西方史料的燈塔。在討論高斯解法的普適性和完善性之前, 我們先分成五點, 體會原文中關於潛力點和關聯思想的原意。 1、潛力點I:高斯所說的依賴關係, 建築在潛力點I基礎之上。一般同餘式 $ax + t \equiv u$ 依賴於單位1常數同餘式 $ax \equiv \pm 1$。 原句中兩個正負號, 照顧到 $t$、$u$ 的大小。 高斯突出線性同餘式與不定方程 $ax=by \pm 1$ 的等價關係, 從而改用當時熟知的不定方程序列值解法。 學者們$^{[7]}$相信, 歐拉大約在1734年, 就已經知道這個方法了。 用我們現在的話描述, 如果解 $x \equiv r$滿足 $ax\equiv 1 ({\rm mod}\, b)$, 那麼解 $r$ 的 $c$倍 $cr$, 滿足 $c$ 倍常數同餘式 $ax'\equiv c ({\rm mod}\, b)$。 等價地, 常數 1 不定方程的解, 乘以非常數 1 值 $c$, 就是非常數 1 不定方程 $ax=by + c$ 的解。 古代中國的乘率、古代印度的庫達卡, 同樣建築在潛力點I基礎之上。 2、潛力點II:高斯展示潛力點II的輾轉相除與序列計算法, 簡明扼要, 用希臘字母表示商, 用大寫字母表示序列值。 序列值所依賴的商, 安置在方括號中。有意思的是, 鑒於內部結構完全相同, 高斯只以一個序列公式, 表示現代數論中的 $P$ 序列和 $Q$ 序列。 3、潛力點III:高斯對潛力點III的說法呈現多個層次: 對整數對 $a$、$b$ 用的是「求兩個數最大公約數的已知算法」, 其中每一步都是「普通除法」, 卻遠遠超出原始的或者現代的歐幾里得輾轉相除求最大公約數法範疇, 所謂「直到 $m = \mu n+1$, 這總是可以做到的」, 實施的是商數損一調節舉措, 這種情況只在求解不定分析式時才會出現。 我們很有必要單獨提出求解輾轉相除一詞, 以區別於求最大公約數輾轉相除法。 4、關聯思想:除法序數(即商個數)、各商各序列值、餘數分支餘數值(1和0)三類物件, 構成完整嚴密的整體。 數理內在的關係, 使得人們可以根據某一個特徵, 作為關聯另一個特徵的標誌, 導出所需結論。 關聯思想是剖析複雜算法的有效途徑之一。 例如, 高斯利用序列值與入算值之間量的相關, 描述輾轉相除法的終止: 「結果會是 $a = [n, \mu ,\ldots,\gamma, \beta, \alpha ]$, $b = [n, \mu ,\ldots,\gamma, \beta ]$」。方括號中商項顯示, 序列值與餘數0關聯。 5、入算數值重現現象:與餘數 0 關聯的序列值等於入算整數對, 我們稱入算數值重現現象。
表1中與餘數0相應的兩組序列值, 都體現入算數值重現。自然餘數分支中的一組, 是 一旦發現重現現象未曾如期出現, 我們立即可以斷定, 前面我們的某步計算有誤。 3.2. 高斯原術的普適性和完善性以表 1 整數對 6172608、16900 作係數, 構成兩個不定方程: $6172608x = 16900y +52$ 和 $6172608x= 499067y-52$, 可約簡成 $1187048x=325y +1$ 和 $1187048x =325y-1$。 以表 2 整數對作係數, 構成不定方程: $120365856000x = 499067y +1$ 和 $120365856000 x=499067y-1$。 由可解條件, 正負常數1用來保證係數 $a$、$b$ 互質, 從而輾轉相除得餘數1。 序列值所用商數出於係數的輾轉相除, 局限於入算兩數範疇。 沒有深層次的考慮, 任何一個值都不可能是不定方程的解。 高斯用序列值表示未知數, 「我們取 $x = [\mu, \ldots,\gamma, \beta ]$, $y = [\mu, \ldots,\gamma, \beta, \alpha ]$」, 方括號中所用商項顯示, 所用序列值與餘數1關聯。這組序列值, 充其量只能稱可能解。 表1自然餘數分支上的一組: $x =[3, 1, 8, 4]=144$, $y =[3, 1, 8, 4, 365]= 52595$, 調節餘數分支上的一組: $x =[1, 3, 1, 8, 4]=181$, $y =[1, 3, 1, 8, 4, 365]= 66109$, 兩組序列值, 可以說成與第一列餘數1相關聯, 也就可以說成與第二列餘數 52 相關聯。 需要先挖掘高斯的三層用意。
表3: 高斯求解輾轉相除四類情況資料實例
高斯巧妙地利用奇偶之別, 設計了把四個可能解配置給四個不定方程的法則: 「當 $[\alpha , \beta $, $\gamma , \ldots, \mu , n]$ 項的個數是偶數時, 我們有 $ax=by +1$。 當項的個數是奇數時, 我們有 $ax=by -1$」。 舉個應用實例, 解常數正1不定方程 $118704x=325y+1$ 時, 配置法則說: 常數正1, 商總個數是偶數。 查表1中能體現偶數的是 $k=6$ 的自然餘數分支, 於是取自然餘數 1 相關序列值 $Q_5=144= x$, $P_5=52595= y$, 作 $118704x=325y+1$ 一組特解。 接著, 回到高斯原文解同餘式的本意, 由不定方程的特解, 判斷 $x=144$ 是同餘式 $118704x \equiv 1 ({\rm mod}\, 325)$ 的解。 再由 $118704 \equiv 79 ({\rm mod}\, 325)$, 也可判斷 $x=144$ 是同餘式 $79x \equiv 1 ({\rm mod}\, 325)$ 的解。 又如, 對常數正1不定方程 $120365856000x = 499067y +1$, 配置法則說: 商總個數是偶數。查表2中能體現偶數的是 $k=12$ 的調節餘數分支, 於是取調節餘數1相關序列值 $Q_{11}=457999= x$, $P_{11}=110461003597= y$, 作為一組特解。 高斯不定方程序列解的線性同餘式解法, 是普遍適用的, 也是完善的。 四、傳統數學的求等數術4.1. 求等數術減法形式傳統數學中, 籌算的十進位值制和算籌排列計算方法, 為分數的表示和運算奠定了基礎。 更相減損$^{[8]}$一詞, 首現於公元前1世紀「九章算術」$^{[9]}$方田章的約分術中: 約分術曰:可半者半之, 不可半者, 副置分母、子之數, 以小減多, 更相減損, 求其等也。以等數約之。 第六題要約簡九十一分之四十九。先另行放置49和91, 此後各步構成下表。表中同一列, 記籌算板上下位兩數。括弧中是相應的減數。
出現在籌算板上兩個相等的數, 稱等數。約分術中約分子49得7, 約分母91得13, 用的是等數的值7。 按字面含義, 以更相減損作術名的, 只是求等數術減法形式。 4.2. 籌算除法的支撐殷商時期的甲骨文, 已經出現完整的十進位記數。 春秋戰國時期已經廣泛應用算籌。 「周髀算經」、「九章算術」有計算乘、除、開方的數例, 出現大量「四而一」, 「十二而一」, 「實如法而一」等除法用語。「孫子算經」$^{[10]}$首次介紹籌算記數、籌算乘法和籌算除法。 「實如法而一」體現籌算除法中, 商起統計法個數的作用:實(位)中有等於法(位)的數, 所得是一。實(位)中有幾個法(位的數), 所得就是幾$^{[11]}$。 「孫子算經」第17題展示 $6561\div 729 = 9$ 的除法籌算過程, 附有詳細的術文: 術曰:先置六千五百六十一於中位為實。下列九人為法。上位置七百。以上七呼下九, 七九六十三, 即除中位六千三百。退下位一等。即上位置二十。 以上二呼下九, 二九十八, 即除中位一百八十。 又更退下位一等。即上位更置九。 即以上九呼下九, 九九八十一, 即除中位八十一, 中位並盡。 收下位。上位所得即人之所得。 據原文我們列出籌算圖, 並在左側編號附上注。
首圖三重張位$^{[12]}$:上位商空, 中位置實6561, 下位置法9。法首9對實首6。 同位的實與法比較, 實6不夠法9, 法9移下一位, 置5下。 實65減去一個法9, 「除得在上方」, 升商1於上位;餘實56還夠一個法9, 再減去法9, 再升商1於上位。 直到商7為止。不夠一個法的實2, 即為餘數, 留在中位, 形成圖2。 很清楚, 術文中上商7乘下法9的「上七呼下九」, 體現「實如法而一」的演化。 在籌算的除法中, 商統計功能起著支撐作用。 4.3. 求等數除法形式求等數除法形式中, 沒有商數損一調節舉措, 就沒有類似「更相減損求其等也」所說的兩個相等的數。 刪除1208年原籌算圖左列, 右列上下, 就顯示求等數的除法形式。 6172608和16900遞互除之, 先出現的等數自然值52奇序數(5), 處圖5上位, 參見表1。
120365856000、499067遞互除之, 等數自然值1偶序數(10), 處圖10下位, 參見表2。
傳統數學求等數術除法形式, 依賴商數損一調節舉措, 得到與除數相同的餘數, 布列在籌算板上, 上下兩個數相等, 這才是等數。於是, 等數自然值在先, 等數調節值在後。 求等數術除法形式是潛力點II和潛力點III結合的產物, 普遍適用, 具有完善性。 五、求乘率術秦「顓頊曆」等古曆採用積年。從「乾象曆」(公元206年)起, 80餘家曆法列出上元以來積年資料, 作為曆法的第一條, 直到元郭守敬「授時曆」(1208年)才予廢止。 秦九韶「數書九章」治曆演紀題系統闡述上元積年算法, 是1500多年間唯一流傳至今的珍貴史料。1777年四庫館臣$^{[13]}$贊曰: 「自秦漢以來, 成法相傳, 未有言其立法之意者, 惟此書大衍術中所載立天元一法, 能舉立法之意而言之。」 5.1. 商的統計功能與歸數我們先介紹秦九韶原文、原圖, 探索天元一原意。 秦九韶描述求乘率過程, 解乘率144只需兩項入算數: 「以四千一百八分為斗定分, 與日法以大衍術入之, 求得五十二為等數, 一百四十四為因率, 三百二十五為蔀率」。 我們知道, 乘率概念體現潛力點I, 但當年古人取乘率一名, 並非出於對常數1滿去式的依賴關係的承認, 只出於後續的乘法。 只有量的關聯, 沒有顯現式演化思想。 本文第一節示意圖中, 只宜稱作「命名含潛力點I」。 為統一東西方史料的研究, 依據高斯關於「$a$ 不小於 $b$」約定, 我們為1208年開禧曆求乘率籌算原圖, 補入歲率6172608。以 $6172608 = 16900\times 325 + 4108$ 為橋樑, 認定 1208 年首圖右上的 4108 為 $r_1$。 類似地, 我們為秦九韶算圖補入120365856000, 參見表2。 現按1842年宜稼本, 把兩組求乘率籌算原圖用方框表示, 所有附注的編號、注中實、法、商、餘的編號, 與序列值計算表上的編號, 完全一致。 籌算與筆算具有明顯的區別。序列值計算表中的每一行, 順序列出帶餘除法的實、法、商、餘四項。商起銜接作用, 導出兩個序列值, 合稱一個循環。 籌算時, 分成試商、留餘和歸算三個操作。商置於實所在一側, 餘取代實原在的位置。 隨著遞互除之進行, 實、法、餘上下交替。 算籌排布風格簡練, 例如圖3中, 試商與前次歸算合居一圖。 我們只要關注所得值首次出現的位置就可以了, 因為再次出現, 無非是重複抄錄, 不必關注。 首圖左上置 1 稱天元一, 左下置 0 稱空, 含義深奧$^{[14]}$。如果據數理逆推, 天元一 ($Q_1$)只能指首次除法 $6172608= 16900\times 325 + 4108$ 中, 除數 16900 只是一個。費解的是, 空0原意或許是虛位以待, 數理上撞了 $Q_0 = 0$。 因為秦九韶大衍求一術布首圖, 左下乾脆空缺。 布首圖後, 試的是次商4($q_2$), 來自第二次除法 $16900=4108\times 4+468$, 置實一側。
我們重點討論商對除數個數的統計作用, 怎樣推演細化累積值, 導出序列公式。 考察圖3的歸數4過程。 查 $16900=4108\times 4+468$ 的實, 原是首次除法一除數 16900。 統計關係下, 一個 ($Q_1=1$)一除數16900細分成4 ($q_2$)個二除數4108, 再入空0內: $4(q_2)\times 1(Q_1=1)$ (細化!) + (累積!)0(空) = 4。 可見歸數 $4(Q_2=q_2Q_1+ Q_0$) 體現細化累計值。 圖3 的試三商8, 對實4108(二次除法的二除數)實施八分之一細化:(二除數) 4108 = (三除數) 468$\times$ (商)8+364, 4個二除數 4108 細化成 $8\!\times\! 4$ 個三除數 468, 形成細化式 ($Q_2q_3$)。 經圖 4 留餘 364($r_2$)過渡之後, 圖5上乘積式 ($Q_2q_3$) 加入圖3左上的歸 ($Q_1=1$)(再前次的細化累積值), 累計成 $8\!\times\! 4(Q_2q_3) +1(Q_1)= 33$, 稱為率, 完成現代意義下的 $Q$ 序列公式 $Q_3(33) = Q_2q_3(8\!\times\! 4) + Q_1(1)$。 數理上同屬於 $Q$ 序列的各項, 在左上稱天元一、率或乘率, 在左下稱空、歸數乃至蔀數, 我們合稱作率、歸數。 隨著除數的漸次細化, 率、歸數在左列上下更迭, 體現序列值公式 $Q_i = q_iQ_{i-1} + Q_{i-2}$。 這三項是本次、前次、再前次三次除法導出的細化累積值: 本次細化累積值($Q_i$)(率、歸數), 等於前次細化累積值 ($Q_{i-1}$)(率、歸數)與本次試商 ($q_2$)的乘積(實施細化), 加上再前次的細化累積值 ($Q_{i-2}$) (率、歸數)。 5.2. 等數標誌乘率求等數術除法形式中, 隨著遞互除之過程, 不斷細化的除數與餘數, 數值相互接近。 圖7試五商除法 $364 = 104\times 3 + 52$, 斗分餘 52 留圖 8 右上。 圖 9 試六商除法 $104=52\times 1+52$, 餘數等於除數, 餘 52 留圖 10 右下。 圖 10 右列上下兩數, 各標一個等字。 改用我們今天的語言描述, 5 個除數 (法) 4108、468、364、104、52, 形成除數序列, 一個比一個小, 最後一個是52。 5 個餘數 468、364、104、52、52, 形成餘數序列, 一個比一個小, 最後一個是 52。兩組序列相互逼近, 直至法、餘、等三數合一, 這就是等數 52。 以等數 52 作標誌, 圖 9 的率 144, 升格為圖 11 的乘率 144, 是有其內在演化邏輯的。 5.3. 等數造成的陷阱傳統曆法天象測量, 只取正餘數。限於篇幅, 這裡不準備詳述開禧曆推演上元積年$^{[15]}$ 導出正值滿去式的思路, 只利用表1整數對 6172608、 16900 和表 2 整數對 120365856000、 499067, 列出表 4 的兩個常數 1 一次同餘式, 從數理上, 等價傳統數學兩個常數1滿去式。 表4: 正值餘數滿去式的等價同餘式
從表1可知, 真正起標誌乘率作用的, 只是第5次除法的自然餘數1(第1列)或52(第2列)。這個奇序數自然餘數例中, 乘率的有效標誌是等數自然值1(或52), 恰巧處於右上位。 再看表2。偶序數自然餘數例中, 乘率的有效標誌是等數調節值1, 恰巧處於右上位。 只有處在右上位的等數自然值(或等數調節值), 才具有標誌乘率的效力, 與值無關。 秦九韶大衍求一術中突破性的創舉: 「須使右上末後奇一而止。乃驗左上所得, 以為乘率」, 數理背景就在於此。 上述圖9中, 右上單獨出現的等數自然值52, 具有標誌乘率資格, 但出於認識上的偏差, 必湊出等數調節值, 必闖調節分支, 必誤得圖11的181, 衝擊右側上下輪流作被除數的規律。最後圖12中, 開禧曆家不得不列出曆法所需三值, 不了了之。 傳統曆法的求乘率術, 普遍適用於一切整數對, 能求出乘率, 足以支撐中華文明千年傳統曆法的輝煌。 以等數檢測乘率, 直觀簡單。然而在奇序數等數自然值情況下, 就整數對的輾轉相除序列值計算現象而言, 一定暴露數理的不完善。 我們無比感慨, 1208年的開禧曆求乘率術, 與高斯解法失之交臂, 千秋遺憾。 六、秦九韶的突破性貢獻開禧曆求元數, 應用的是除乘消減法$^{[16]}$。秦九韶改進成用求乘率解法, 自行設計了元閏377873朔率499067求乘率原算圖, 同樣以上下位相等的等數1, 充作乘率的標誌。 我們稱為秦九韶算圖。限於篇幅, 這裡只摘錄首末幾幅算圖, 按宜稼本用方框表示如下。
右下等數自然值1(圖18)事實上無效, 而等數標誌乘率的理念, 正可逼出右上(圖20)有效的等數調節值1, 從而正常進入調節分支。 圖22中, 左下序列值499067與右下0相應。秦九韶刻劃的「蔀數即朔數」, 正是高斯1801年刻劃的入算數值重現現象。參見序列值計算表2。 秦九韶在「數書九章序」中, 自稱: 「早歲侍親中都, 因得訪習於太史, 又嘗從隱君子受數學。」所錄求乘率術籌算原圖操作, 不知何人何時所定, 不要說今天的人們不習慣, 就是中世紀的秦九韶也痛感不便。 秦九韶親手設計求乘率圖, 為每一個數值費盡心機, 也就有可能受到啟示, 逐步改進。 先間隔刪除原來雙數的2、4、$\cdots$、20十圖, 保留單數原圖。再略去注文, 把商數移到兩圖之間, 形成下列簡圖:
有趣的是, 包括首尾在內的每一張籌算小圖, 右上角和左下角相乘的積, 加上右下角和左上角相乘的積, 其和恰好都等於恒值, 即首圖右下角的數, 也是尾圖左下角的數。這個對角線乘積和的恒等性質$^{[17]}$, 是數理與算籌擺法的奇妙結合。 秦九韶工作中, 最重大的突破性貢獻, 就是把等數作乘率標誌, 改為以右上餘數1作乘率標誌。在前人基礎上, 模仿設計求乘率圖、簡化排圖, 最後, 以簡練的語言, 歸納出大衍求一術, 成為三個潛力點的完美結合。 1247年大衍求一術, 原文如下: 諸衍數, 各滿定母去之, 不滿曰奇。以奇與定, 用大衍求一入之, 以求乘率 [或奇得一者, 便為乘率]。 大衍求一術云, 置奇右上, 定居右下, 立天元一於左上。先以右上除右下, 所得商數, 與左上一相生, 入左下。然後乃以右行上下, 以少除多, 遞互除之, 所得商數, 隨即遞互累乘, 歸左行上下。須使右上末後奇一而止。乃驗左上所得, 以為乘率。或奇數已見單一者, 便為乘率。 秦九韶回避首圖的零, 也回避最後0這個麻煩, 以「右上末後奇一」, 準確地選定具有乘率標誌效力的餘數1。取消商數, 略去最後一圖。所有籌算圖與大衍求一術術文的描述, 完全一致, 體現出這樣的數理含義:以除法為綱, 把同一個循環的試商、留餘、歸算併入同一個算圖。 秦九韶具有極高的數學造詣, 歸納提煉的大衍求一術, 「整個算法幾乎可以一字不差地搬到現代電子計算機上去實現」$^{[18]}$。 秦九韶萬世流芳, 在偉大數學家高斯之前554年, 得到的大衍求一術, 與線性不定方程現代序列解定理等價, 而不定方程序列解法正是高斯同餘式算法的核心。 至此, 等數完成了標記乘率的階段性歷史使命。秦九韶元數格說: 「元數者, 先以兩兩連環求等, 約奇弗約偶」。等數回到求等相約過程中, 重操最大公約數的老本行。 七、小結西方數學起源於古希臘, 以邏輯形式的公理、公式分類構成體系。形式邏輯思維的發展, 追求嚴格化、形式化、符號化。西方算法體現的, 是規則指導下的書面文字運演。 傳統數學起源於古代中國, 數學思維以中華文明的致用發展為價值取向。籌算算法體現籌算的運演, 是特定規則指導下的手工操作。 傳統數學的數值計算, 借助籌算工具, 反過來, 籌算工具刺激著數值計算的發展。 求最大公約數的需求刺激了等數概念, 等數概念刺激了求乘率術。求乘率術在求出乘率方面, 是普遍適用的, 在數理方面卻無法逾越先天障礙, 無法解決自然餘數除法序數奇數情況下的入算數值重現現象。 追溯傳統不定分析數值解法的發展, 要盡力避免不自覺地套用西方數學發展模式。 秦九韶1247年留下的史料, 只揭示了千年傳統曆法的冰山一角。 曆法史、數學史上大量的漸近分數, 數理上與 $P$、 $Q$ 兩個序列值相通, 也就與求乘率術的歸數相通。 求乘率術籌算數值解法只求出一個 $Q$ 序列, 地跨東西, 時隔千年, 高斯以一個序列公式表示現代數論中的 $P$ 序列和 $Q$ 序列, 兩者在數理上則是相通的。 能否從浩如煙海的現存史料中, 尋找數源, 探索求乘率術起源, 這個任務是艱苦的, 也是值得一做的。 參考文獻---本文作者任教蘇州大學數學科學學院--- |