system: [SYSTEM]

user: 5. 上元积年的构思 中国历法起步于天度圈观念，必走上元积年之路。岁星超辰与天象明显不符，却在上元积年求索的过程中，起过重大的推动作用。 5.1. 六条上元积年值 只是在《世经》中，才出现上元积年值。这六条值按先后次序，编号如下： (一) 上元至伐桀之岁，十四万一千四百八十岁，岁在大火房五度。 (二) 上元至伐桀十三万二千一百一十三岁，其八十八纪，甲子府首，入伐桀后百二十七岁。 (三) 上元至伐纣之岁，十四万二千一百九岁，岁在鹑火张十三度。 (四) 厘公五年正月辛亥朔旦冬至，《殷历》以为壬子，距成公七十六岁。是岁距上元十四万二千五百七十七岁，得孟统五十三章首。 (五) 汉高祖皇帝，著《纪》，伐秦继周。木生火，故为火德。天下号曰“汉”。距上元年十四万三千二十五岁，岁在大棣之东井二十二度，鹑首之六度也。故《汉志》曰：岁在大棣，名曰敦牂，太岁在午。 (六) 汉历太初元年，距上元十四万三千一百二十七岁。前十一月甲子朔旦冬至，岁在星纪婺女六度，故《汉志》曰：岁名困敦，正月岁星出婺女。 以第六条上元至太初元年的值作基准，变动近期编历岁，可推出第一、三、四、五条。第二条上元至伐桀，采用四分纪1520岁，但并非四分历上元积年，而是试图融入岁名干支周期。 5.2. 世经意图 刘歆作世经，“以说《春秋》”。班固说过：“至孝成世，刘向总六历，列是非，作五纪论。向子歆，究其微眇，作三统历及谱，以说春秋，推法密要，故述焉。”三统历分七章：一统母，二纪母，三五步，四统术，五纪术，六岁术，七世经。统母、纪母为立法之源，五步乃五星会合周期动态段研究，统术、纪术、岁术是推算日月五星及岁星所在之次，而《世经》乃是刘歆对古史归纳而成的一份年谱。从年代学的角度来考虑，上古史料本来零乱，越往古，王朝的年代越难断定。例如关于周武王伐纣的年代，历代研究提出的年份，至少有数十家。刘歆所说，也算其中一家。岁星纪年法行用期间，古人著书录入当时所见岁星所在，总以实际观察为准。12个星次划分明确，岁星位置清晰可辩，应该并无多大观察误差。《世经》不符合岁星11.86年一周天、约86岁超出一次的真实规律。所载古传史料中的岁星纪年和朔旦冬至，古之纪年条款，除少数用殷历、周历外，大部分用三统历岁术推算过，体现144年超一次。 5.3. 推岁所在之术 推岁所在之术的要点，是算某年月日的岁星所在。从上元到此刻，岁星所行总星次满去周天12星次，所得积次、次余，即可估岁所在星次与宿。也可先“盈岁数，除去之”，满去大周。原文如下： 推岁所在，置上元以来，外所求年，盈岁数，除去之，不盈者以百四十五乘之，以百四十四为法，如法得一，名曰积次，不盈者名曰次余。积次盈十二，除去之，不盈者名曰定次。数从星纪起，算尽之外，则所在次也。 以汉历太初元年143，127岁为例，满去岁星岁数1728岁。82个岁星大周之后，余1431岁，行1431 × = 1440(积次) 。积次1440次“盈十二”，恰为120周天。星纪处周天之首，则据次余135，估出岁星在星纪中的比例位置。星纪约30度，始于斗12度，终于婺女7度。由次余135，30度 × = 度。以比例考量，岁星位于星纪的 强，为婺女6度。 5.4. 构思探索 要探索刘歆引入上元积年的具体原因和构思细节，困难重重。1928年日本学者新城新藏开垦草莽，以线性四元不定方程进行推测，试算硬凑31个元。1980年袁向东、李文林推测 [ 10 ] ，推算三统上元之关键，是汉历太初元年……前十一月甲子朔旦冬至。把岁在星纪婺女六度，理解成处于30度星纪的 ，r在135与139 之间。 如果以p、q为不定整数，q为岁星运行圈数，有线性不定方程： 4617 × p × = 12 p + ，即669，465p = 1728 q + 135， 相当于以x为未知数的线性同余式： 4617 × x × ≡ (mod 12)，即669，465x ≡ 135 (mod 1728)。 仅当余数r取整数135，即有 时，有最小正整数解x = 31。可算出上元积年数143，127。 前辈们不畏艰难，披荆斩棘，开拓了我们的视野，鞭策着我们一步步前进。 我们赞成吕子方的推测，落下闳以古六历29 日作源，算出太初历29 日。只把连分数之说换 成等价的密近简化。又把袁向东、李文林推测中的669，465x ≡ 135 (mod 1728)，换成等价的满去式：多少个669，465，满去1728，不满135。 在前辈基础上，我们不揣冒昧，根据编岁术和编世经的次序先后，提出一个新推测。三统上元积年如取31个元，依岁术可算得，岁在“星纪婺女六度”，与《汉志》所载相合，足以证明三统历的权威。31这个值，可能是在大量试算时遇到的，促使刘歆谋求用数值解法，利用元4617岁和余数“婺女六度”，反推算出这个值31。 这相当于考虑现今所说线性同余式问题： 岁星超辰运行，从上元起历经多少个4617岁，到太初元年处于“星纪婺女六度”(即 )？ 刘向父子积累了丰富的历法计算知识。刘歆推算岁星大周时，熟知落下闳把940、499，密近简化为81、43的计算过程。刘歆同时代的《九章算术》，已经明确有等数概念。第4.4节表2中算到除法12 = 11 × 1 + (r 7 )1。如果计算下一步，是11 = 1 × 10 + (r 8 )1。筹算板上下，(r 8 )1 = (r 7 )1，就是等数。落下闳取81，出于“以律起历”。刘歆可能根据等数1，注意到与81关联的43。如果能想到：多少个940，满去499，不满为1？再试算知：43个940为40，420，40，420扣除1，得到40，419，恰巧是499的81倍。也就有可能想到：多少个669，465，满去1728，不满135。 5.5. 数值解法 东、西方数学家，对整数对辗转相除序列现象的开发和利用，途径不同，形式也不同。我们理解1208年筹算图数理，推测公元前7年密近简化，依赖的是近代数论。绝对不能忽略，传统数学的数值解法，是筹算大背景下的产物。只有弄清等数的原文、原术、原意，等数在1208年求乘率术中起的作用，我们才能放心地从跨度几千年的史料中，寻找线索，探索上元积年的本原。 5.5.1. 整数对固有本性 一切整数对a、b，不妨约定a不小于b，都有其固有的数理本性。辗转相除过程中，首次出现的余数称为自然余数。一切整数对因自然余数除数序数的奇、偶不同，分成彼此独立的两大类。 约公元前300年的欧几里得的辗转相除法，求最大公约数时，把整除作为终止运算的标志，不涉及这个本性。1801年高斯《算术研究》27节，“通过求两个数最大公约数的已知算法”，处理线性不定方程ax = by + c两系数(线性同余式ax ≡ c(mod b)系数与模)，“数值递降，直到m = μn + 1，这总是可以做到的”，从而涉及到整数对本性。高斯完善地解决了涉及整数对辗转相除序列的线性不定方程(同余式)求解问题 [ 11 ] 。 5.5.2. 求等数术 等数是筹算的产物。现存史料中的求等数术，有减法形式和除法形式两种，都以相等的两个值，作为终止运算的标志。《九章算术》约分术描述的是减法形式：“副置分母、子之数，以少减多，是更相减损，求其等也。以等数约之。”“求其等也”，追求两个数值的相等。“以等数约之”是数值运算，用以“约之”的最大公约数，是等数的值。以约简49/91为例。上下放置49和91，括号中是减数，各步构成示意图。见表3。更相减损终了，上下两个7相等，合称等数。约分子49，约分母91，用等数的值7。求等数术的除法形式，见于1208年开禧历求乘率术原图右列。我们以669，465(a)和1728(b)为例。为与求乘率术一致，先算669，465(a) = 1728(b) × 387(q 1 ) + 729(r 1 )。再上下布列成示意图首图，暂且不记入商。求等数术除法形式，见表4示意图(图1-图6)：递互除之终了，不采用整除除法189 = 81 × 3(q 5 )，调节商3减1成2，形成189 = 81 × 2(q 5 ) + 27(r 5 )，27(r 5 )为自然余数。调节后除法为81 = 27 × 2(q 6 ) + 27(r 6 )， Table 3 The schema for the seeking equal-numbers in subtractive for 49 49 (−42) 7 7 7 7 7 7 91 (−49) 42 42 (−7) 35 (−7) 28 (−7) 21 (−7) 14 (−7) 7 表3. 求等数术减法形式示意图 Table 4 The schema for the seeking equal-numbers in division for 图1 图2 图3 图4 图5 图6 表4. 求等数术除法形式示意图 27(r 6 )称调节余数。依照原筹算图，对上下27和27各标一个等字，27(r 5 )为等数自然值27，27(r 6 )为等数调节值27。两个27才为等数。等数的值27才是669，465和1728的最大公约数。可以看到，自然余数、调节余数、等数自然值、等数调节值四项的值，都是最大公约数。当两个整数互素时，最大公约数的值就是1。求等数术以等数标志最大公约数，不区分自然值还是调节值，能完善处理两大类整数对。 5.5.3. 求乘率术 在求乘率时，等数标志乘率，直观简便，却经受不起这个本性的考验。 传统数学中的序列概念，源于筹算除法的“实如法而一”，商起统计除数个数的作用。随着整数对递互除之，除数不断细化，除数个数步步累积，反映序列公式Q 0 = 0，Q 1 = 1，Q k = q k Q k−1 + Q k−2 ，k = 2，…，n。参见第2.2节。在求等数术除法形式首图左侧，增设天元一(Q 1 = 1)和空(Q 0 = 0)，就成了求乘率术首图。为了求多少个669，465，满去1728，不满为135，我们模仿1208年筹算图求乘率。先算669，465(a) = 1728(b) × 387(q 1 ) + 729(r 1 )，再列成表5。顶行表示各数值的关系，第二行突出当前筹算的运算目标，最下一行标出筹算图序号(图1-图11)。图9上方除法81 = 27 × 2(q 6 ) + 27(r 6 )中，商(q 6 )取2不取3，产生余数27(r 6 )。图10中上下27各标一个等字。到图11，两个相等的27，合为等数，标志左上19为乘率。等数标志乘率，直观简便，却为求乘率术埋下了数理缺陷。 高斯处理不定方程ax = by + c(同余式ax≡c(mod b))，c分正负，整数对a、b辗转相除，有自然余数分支和调节余数分支，共有四种情况。传统满去式：多少个a满去b不满c，由于余数c只取正，只有上述四种情况中的两种。筹算图特定的排法，导致运算终了，左上数总是乘率(序列值)，右上数总是判断标志，这个数与作为乘率的序列值，属于同一余数分支。至于采用自然余数(等数自然值)，还是采用调节余数(等数调节值)，取决于整数对a、b的数理本性 [ 12 ] 。单独等数自然值，当自然余数除法序数为奇时，是取自然余数分支序列值的充分必要条件。单独等数调节值，当自然余数除法序数为偶时，是取调节余数分支序列值的充分必要条件。两个相等数合称的等数，只是充分不必要条件。这里利用为奇的具体数例进行解释。整数对669，465和1728自然余数(r 5 )除法序数(5)为奇，单独的右上等数自然值(r 5 )27，就是取自然余数分支序列值(Q 5 )19的充分必要条件。受困于追求等数，画蛇添足，必凑等数调节值(r 6 )27，必闯调节余数分支，必误求图11左下(Q 6 )45(调节余数分支序列值)，并冲击右列上下轮流作被除数的规律。直到1247年，秦九韶大衍求一术处理互素整数对，“须使右上末后奇一而止。乃验左上所得，以为乘率”，这才完善地解决了满去式的求解问题，与高斯解法等价。 5.5.4. 满去式的解 求解多少个669，465，满去1728，不满135的全过程，可用开禧历求入元岁之术理，原文如下： 又以日法乘前历所测冬至气刻分，收弃末位为偶数，得斗分，与日法用大衍术入之，求等数、因率、蔀率，以纪乘等数为约率，置所求气定骨，如约率而一，得数，以乘因率，满蔀率去之，不满，以纪法乘之，为入元岁。 求乘率术算出等数27、因(乘)率19。开禧历的纪(纪法)源于干支周期60。此处纪(纪法)为1，约率等于等数27。约135得5，约1728得64。以乘率19乘5得95。95已是669，465 x ≡ 135 (mod 1728)的解。以95满去64所得的31，则是最小正整数解。 Table 5 Sequence calculation of 669，465 and 1728 in form of the original diagrams in 120 1728 = 729 × 2(q 2 ) + 270(r 2 ) 729 = 270 × 2(q 3 ) + 189(r 3 ) 270 = 189 × 1(q 4 ) + 81(r 4 ) Q 0 = 空， Q 1 = 天元一， q 2 = 2 r 2 = 270 Q 2 = q 2 = 2， q 3 = 2 r 3 = 189 Q 3 = q 3 Q 2 + Q 1 = 5， q 4 = 1 r 4 = 81 图1 图2 图3 图4 图5 图6 表5. 模仿1208年筹算图计算669，465与1728 核算：669，465 × 31 = 20，753，415，20，753，415 − 135 = 20，753，280，20，753，280 = 1728 × 20，753，145。 大量数据试算中的偶然发现，碰撞到数理的内在逻辑，擦出的火花，引导刘歆求解线性满去式，成为上元积年计算第一人。闯入这个数学领域的刘歆，不会透彻了解其间数理，并未明确意识43、19为乘率。然而，所面临正反核算问题，以特定数值关系探索，还是能够解决的。 5.6. 欲知太岁之术 刘歆以统首日命名天统甲子、地统甲辰、人统甲申，已经注意到：4617年只含日名干支周期，不含岁名干支周期。《世经》第二条积年值“上元至伐桀十三万二千一百一十三岁，其八十八纪，甲子府首，入伐桀后百二十七岁”，并非四分上元积年，而是试图融入岁名干支周期。所谓甲子府首，指纪之首，四分历一纪1520岁含9253个日名干支周期。88纪共1520 × 88 = 133760 岁，扣除伐桀之岁到太初元年1647岁，所得132，113岁为上元到伐桀之岁。加入127，132，113 + 127 = 132，240 = 60 × 2204，有2204个岁名干支周期。故称“甲子府首，入伐桀后”127。至于融入岁名干支周期后的127，作何解释，不了了之。岁名干支周期注定成为岁星超辰绕不过的坎。刘歆无法回避太初历“太岁在子”之说，留下无法自圆其说的“欲知太岁”之术，原文是： 欲知太岁，以六十除积次，余不盈者，数从丙子起，算尽之外，则太岁日也。 首先，六十的单位不明。上元后经31个三统元，到太初元年4617 × 31 = 143127岁，无法以60整除。岁星超辰，4617 × 31 × = 星次，扣除 ，积次144，120尽管可以60整除，单位却是 星次。“数从丙子起”所说的丙子，属于六十干支周期。问题是，指干支纪日还是指干支纪年？现在所知，古以甲子纪日，干支纪年始见于西汉，多与岁名、岁在和丛辰配合使用，但始创时期，历代纪年关系，还未理顺，现存多例，互相抵牾。刘歆自成体系，是为一说。到东汉，才追正自西周共和以来历代各王世王年之甲子，才完善了中国历史上的干支纪年法。我们只是想，依太初、三统历当年威信，东汉追正时，倒极有可能把地支十二周期的“子”关联天干地支六十周期“丙子”。战国时期的岁星纪年法，一岁行一星次，方便实用，一度深入人心。人们渐渐发现其不足，陆续追加种种弥补观念，产生虚拟概念太岁。《汉书∙天文志》称太岁，《淮南子·天文训》叫太阴，《史记∙天官书》叫岁阴。太岁的历史演变，众说纷纭。入汉以后到新莽时期，与史实纪年不合的岁星纪年法、太岁纪年法和岁阳、岁阳纪年法混用，各执一端，到汉章帝元和二年(85)东汉四分历的颁行，宣告正式结束 [ 13 ] 。我们只能说，“数从丙子起，算尽之外，则太岁日也”十四字中，除非有衍文夺字，否则，把太岁日与丙子相扯，实在是无奈之举。