(四)岁 法 ( 诀 ) 纪首起历甲子行,三五四日常年型。大余减六得次岁,小加三百四八分。小余若过五九二,三五五日记分明。只减五日得下年,岁之末月连大生。闰年推日依闰法,小加八百四七分。此为岁法之要诀,若识蔀余万年通。 古四分历有四种年型:从历数小余分多少(日分)判之: ① 5 9 1分及以下,为常年型。年3 5 4日,十二个月,六大六小,大小相间。 ② 5 9 2分及以上,为连大月型。年3 5 5日,十二个月,七大五小。若刚好为5 9 2分,连大月在岁末;依超分多少,连大月位置按比列前移。以上常年型,历数大余减6,小余加3 5 4分得其次岁历数;连大月型,则大余减5,小余加3 4 8分,得次岁历数。 ③ 闰年9 3分及以上,为闰常型。年3 8 4日,七大六小。大余加2 4,小余加8 4 7分,得次岁历数。 ④ 闰年9 2分及以下,为闰特型。年3 8 3日,六大七小。大余加2 3,小余加8 4 7分,得次岁历数。 例题3:已查得汉刘邦七年(前200年)历数为19.093。试排其年月朔历谱?历数1 9. 0 93为刘邦七年十一月的历数,依例题(2),反推其十月历朔数为19. 093+30. 000+441=49. 534。以下排表: 十月/49.534(壬子);十一/19.093(壬午);十二/48.592(辛亥);一月/18.151(辛巳);二月/47.650(庚戌);三月/17.209(庚辰);四月/46.708(己酉);五月/16.267(己卯);六月45.766(戊申);七月/15.323(戊寅);八月44.824(丁未);九月/14.383(丁丑)。(十月丙午43. 882;十一月丙子13. 441,十二月丙午43. 000) 分析: ① 本年在附件一表3丁卯蔀(18 /0275· 04)末岁,其历数由表四查知为16. 093+3. 000 =19. 093。本为值闰年,小余9 3分,为闰年常型。按汉初用秦历。依《殷历》,当闰表上括号中的十月,十一月应为十月。如此,则表括号中十二月历数43.000应为十一月,即下一蔀首的历朔数。因闰殷历的十月 ,实际上己 进入次一年(正月),所以汉历移此闰于当年(前199年)岁末,即闰后九月,才变为上表的样子。 ② 汉历本年闰月虽有变动,不影响其余月份。新出土的江陵张家山汉初竹简载汉高祖七年十月壬子朔,十一月壬午朔,十二月辛亥朔,与本历表合。 ③ 从十月49.534算起,求括号内次年十月历数,得49.534-6.000 + 0.348 = 43.882,与表上括号中的43.882合。 (五) 节 气 法( 诀 ) 历以中气系月名,十二中气应历生。历算冬至在冬月,章首朔至同时分。气距三十又十四,节距十五加七平。岁法只列冬至日,岁加五日又八分。
① 中气月名的对应:(月序依夏正)十一月/冬至;十二月/大寒;一月/雨水;二月/春分;三月/谷雨;四月/小满;五月/夏至;六月/大暑;七月/处暑;八月/秋分;九月/霜降;十月/小雪。 ② 按四分历,从冬至月开始作为岁始;因为在章首之岁,同日同时交朔交节。以下按平气算,节距为十五日又三十二分之七分,气距则为三十日又三十二分之十四分,依此往下排二十四节。但在历谱上一般只需一年(岁)出一个冬至数,则只需知冬至岁距为3 6 5又8 / 32日。又因为3 6 5除以干支数60的余数为5,所以往前推历,只需岁加“五日又八分”。 以上历理赅备,精研之,当能融会贯通。
四 《历术甲子篇》是国之瑰宝 《历术甲子篇》是上古时间以千年计积天文观测、历算实践基础上进行的中国古人智慧的结晶,也是具有时代意义的、科技含量最高的第一份历法成文总结。 1. 文字是文明的载体;好像身体中输送养料的血液。历纪则是贯穿文明的系绳,比之如身体中的经穴脉络,文明得靠历纪来举张其精、气、神。历纪与文明两者不能相离须臾。 2. 中华历法正本源,首当归功于识数千年的天文观测实践中经验的丰富和资料的积累。天上两个巨大的天体——太阳和月球的运行与生活固然息息相关,但若要上升为理性的认识,成为能观象授时的历象,必须有一种能动的思想,将长期感性知识转化为历法的意义才行,这样才能“起消息,正闰余,以闰月定四时成岁”,达到“齐远近,立民信”的功能。 3. 从进入炎黄时代,中原大地早已不是浑浑噩噩,任由大自然主宰的状态了。黄帝轩辕氏,那是标示以车战为战争工具时代的开始。师古曰:“轩,轩车也。”黄帝时代,据司马迁极有分寸的文字传说,已有了初级政权形式和职业作战的军队,已由骑牛挽车进步到进行马战和车战。生产力方面已能分出部份人测量土地,规划道路,治水筑城,种植百草和驯化鸟、兽、昆虫(养蚕,也许还有养蜂收蜜)。这时还能抽出少量人“勤劳心力耳目”,有了专职从事脑力劳动的若干职业,其中包括世袭以历纪为业的“畴人”。 4. 太阳热生光,在系统中属于主动一方,属“阳”;月亮被动受光,属阴。《幼学》:“日为众阳之宗,月乃太阴之象。”古人把这两大天象的周期性变化,看作是天地间最具代表性的矛盾对立统一,作为“观象授时”的主要观测对象。中华历法的目标就是研究它们两者变化运动周期的和谐节奏。 5. 由长期观象资料的积累产生的认识上的突破,得出76岁含27759(平太阳日)天,为古四分历岁策365.25天和月策29又940分之499天的共同节奏(最小公倍数),是西元前427年古四分历历理得以创立,托前代名义编制的《殷历》得以制订实施,历术数据表《历术甲子篇》得以师承相传的关键之年,因此也是中华文明史上最具辉煌的一年。 6.《历术甲子篇》系统提供的76组共304个历算数据,运用了十进位、十二进位、十九进位、三十二进位、六十进位和九百四十进位等六种以上进位制的混合运算。表上数字正确干脆,无一舛错。难能可贵的是,这些极为繁复的算术运算,完全是运用极为初级的“筹算”和心算方法进行的。稍一失慎,即会出现很难发现的舛错。因此,古历纪记载中常有一些出格的错失,往往可能出在历算环节,是应该理解和顾及其发生的可能。其时历算达到的误差精度,就地球绕日运行76年实长27758.4067日而言,浮0. 5933日,年浮只0. 0087日,其成就已经领先世界三百多年;若就月球运行940周为27758. 75272日而言,76年则只 后 天0. 24728日,平均年浮仅0. 0032537日。按日分940日分而论,年浮只3. 058463日分,比古四分历名义上的误差还要小2.67倍!其达到的精度水平,其成就实在是蔚为观止。 7.《史记·历书》开篇即说:“昔自在古,历建正作于孟春。于时:冰泮发蛰,百草奋兴,子归先嗥。物乃岁具,生于东,次顺四时,卒于冬分。”——文意是说:春天冰融解了,冬眠和蛰伏的动物活动了,植物竞相生长,子归鸟儿也先叫了起来。万物一年一度,从春天开始,顺着四时,尽于冬季。因此历法的一年也从春天开始,终于冬末。——中华古历法尚处于萌芽雏形时,以目见新月生明放光(胐fei4)为月之首日,以万物苏生的春天为年之始是很自然的。后来由于经验的丰富,历法的进化,以“日南至”,也就是日影最长的这天为“冬至”;以含冬至的月份为岁的首月,作为历算的岁始,同时也开始以之作为历法一年的开始,则首先是代表了人们对历法认识的深化和进步。这些,似乎与后人认为的与五行相生相克,历用三正等,并无必然联系。“朔”,“逆”(迎)月生光之意。此字始见于《诗·小雅·十月之交》:“朔日辛卯,日有食之”。此诗记的是西元前776年的一次日食。查此年为周幽王六年,十月(夏历八月)定朔为辛卯,知所记无误。因此至少在此年间,月初即以“朔”代“胐”了。 8. 据《史记》和《汉书·律历志》记载的说法,由于家业世守相传的史官在周朝后期失业了,原来由一脉师承相传的,精于推历的子弟们四散“自谋职业”,于是其在诸侯方国所记五花八门,有“黄帝、颛顼、夏、殷、周及鲁历”。以上即“古六历”的出处。其实六历中,古籍有据仅《殷历》和《颛顼历》。其中《颛顼历》虽曾由秦献公于前366年颁行,但真正用于记史,则在秦始皇统一六国之后,执行至汉武帝太初(前104年)改历为止。因前366年干支乙卯,故历家称《颛顼历》为“乙卯元”。总之,先秦之时,无论历法用了多少种名目,由于都源出于一个师门,只有岁首月份的不同,而无历理的任何区别,因此由祖师爷授受相传的历术宝典《历术甲子篇》,仍处于至高无尚的地位。
五 《历术甲子篇》的精度和实用年代 1. 先秦学者以为古四分历是完美无比,可以上穷亘古,下推万年。汉成帝(前32—前7)时,楚元王的四世孙经学家刘向“总六历,列是非,作五纪论。”刘向的儿子刘歆则子承父业,精究历术的细微,作《三统历》及《三统历谱》,用以解说《春秋》经传。《汉书》作者班固认为其“推法密要”,将刘歆的学说完整记载于史,得以流传至今。由于刘歆的详尽记录,为我们留下的大量极其可贵的史料。唯其犯了个根本的错误,则是他以一把只有一定精度水平的历史尺子,却认定为“足赤纯金”,来裁定历日。比如以三统历断武王伐纣开国的年代为前1122年,就遗下至今纷争的无穷后患。 2. 前已提出,古四分历历理,《历术甲子篇》“术数”,和《殷历》作为历书和历谱是互为表里,三位一体的“历”史文献。三者经计算与天象实际,就朔望月而言,平均年浮仅0.0032537日。即年平均达1日误差的年数为:1÷0.0032537 ≈ 304(年)。因此用以前427为与天象密合的原点,用《殷历》数据推步历日,前后各三百年之内,其误差都不会超出一日之外。但因为我们已经初步证明,《殷历》实施于前427,而止于前104年,故只以此期间324年作为其具体使用的年代应是有根有据的。
六 《殷历》可以奉为秦汉之际历法的主参照线 本文立论以《殷历》为秦季汉初历法主参照线的理由归纳于下: 1、《殷历》是托名前代而完工成于前427年的,中国第一部成文历法。它的历理基础是古四分历,历术数所据为古四分历宝典《历术甲子篇》。 2、 宝典《历术甲子篇》是完成于《殷历》同一时期,以当时实际天象为准,由当时的历算专家完成的精度很高,推算准确的专业著作。其无价可贵处在于幸由司马迁的廋藏,得以原貌完整传世至今,使我们得以一睹上古中华文明的辉煌。据张汝舟氏遗著《二毋室古代历法论丛》的精心研究,得出的结论是:若给予 少许修正,用其数据下推至二十世纪,仍与天象及历书密近相符。因此,用于当时的历算,在其精度水平下,是完全可靠的。 3、更重要的是:由汉初记载的一系列日食发生于晦日的文字,完全符合以《殷历》为主轴线实施三百二十四年间未作修订的实际。本文上举一系列历点资料,可以窥其梗概。(因已编《补修〈殷历〉朔闰谱》,本文系列历点资料略) 4、以《殷历》为秦汉之交各种历谱的参照线,意在强调在此期间《殷历》佔据着主流意识的地位。由于当时受正统观念的统治,文人们宣传秦之与汉,共祖一脉,同获“水德”之瑞,因而汉袭秦正,举《颛顼历》为正统,认为《殷历》不过是“颛顼之别一术”而已。这种观念,至今仍在部份学者脑海有深深的烙印,干扰视觉。故不惜多费笔墨,为《殷历》正本清源。 5、以《殷历》为秦汉间历法的“参照线”,只在于给予一个信心,不是说《殷历》就是历史上在此期间历纪原貌。因为其间发生差距的原因很多,有历史记载方面的原因,也有历算方面错算等方面的原因。但只要有了一个以《殷历》为主心骨的信念,或者说作为经验之谈,相信其“错误”可以给予一定程度的澄清。
七 消除《历术甲子篇》的三大误会 (一)、《历术甲子篇》只是司马迁收录于《史记》巨著中的“转贴”。 开卷读《史记》,倾听太史公世守“史”职的名家绝唱,自然认定都是司马迁的文章;哪里会有心分辨在如此的巨著中,《历术甲子篇》会不会是由老夫子有心收录的,甚至是蓄意保存的一份“转贴”呢!此为必须消除的第一大误会。 首先得承认,司马迁虽然是文章巨擘,但他不是历算“畴人”。至少,历算是一门手续繁复的计算技术,不是司马迁的强项。《历术甲子篇》行文也不对太史公的笔路。这是一点即能明白的。 太初改历,汉武帝事前下诏举行了两次廷议,参加的人一次比一次多。司马迁既是修订历法的创议人之一,又是改历“领导小组”主要成员,还是汉历审订者的主脚。两次廷议,他也是参加者的主要成员。此度修订历法,就其基本任务而言,是修正老历法执行三百多年因年久失修而产生的积差。而从汉武帝热心改历的出发点而言,却是听从了方士公孙卿八年前用假造的“天书”的迷惑:“盖闻黄帝合而不死”,他想的是寻找合于天纪历元的好日子,可以“仙登于天”。颁布《太初历》之后,派出的方士们“十二岁而返,遍历于五岳四渎矣。而方士之候祠神人,入海求蓬莱,终无有验。而公孙卿之侯神者,犹以大人迹为解(用见到过神仙的话搪塞)。无其效,天子亦怠厌方士之迂怪语矣(省到是些骗子了!)。然终(与方士们)羁縻弗绝,冀遇其真。(求仙的梦,至死不悟。)”(《孝武帝本纪》)这当然是后话。回到修历的话题:这位方士公孙卿,通过汉武帝近幸嬖人打通关节,积八载经营,如今官至“大中大夫”,而且位居改历“领导小组”成员首席,他积极主张的是一桩“政治”投机买卖,因此从议造汉历的动议为始,就存在着两条根本不相容的治历思想路线。在武帝召开的第二次廷议中,要与会人“议造汉历”,与会的大典星射姓等(射姓人名)“奏曰:(臣等)不能为算,愿募治历者,更造密度,各自增减,以造汉历”。因为参与廷议的官员(包括司马迁!)没有人说会推算历术,或者不想揽这笔差事,才另行召募“治历者邓平及长乐司马可,酒泉侯宜君,侍郎尊等信民间治历者二十余人。方士唐都,巴郡落下闳与焉。都分天部,而落下闳运算转历。”从以上载于《汉书·律历志》的治理整顿汉历的人事安排看,司马迁既未在廷议中答应亲自算历,即或有本事,又何敢事后授人的“欺君”的口实,动笔来写出一分历术专门著述,更不说是非泛泛说之,可以一挥而就的《历术甲子篇》了。 太初改历的主要实际负责人是邓平。据《汉书》,他是在拟出的十八份草案中,被选中用为《太初历》的,因之《太初历》又称之为《邓平历》。其人则因制历有“功”,封官为“太史丞”。此事在司马迁近似《历术甲子篇》序言的《历书》中,连邓平的名姓提都不提,却只简述道:“至今上即位,招致方士唐都,分其天部,而巴郡落下闳运算转历,然后日辰之度与夏正同。另改元,更官号,封泰山。”只点两人:一名唐都,曾经是司马迁父亲司马谈的天文教师,是司马迁的前辈。(参见《太史公自序》。)他不负历算之责。负“运算转历”的是来自民间的落下闳。司马迁说他的“运算转历,然后星辰之度与夏正同”,叙述略而不详,语气却非常肯定。因此,能带来只在“畴人”间师承相传的秘典《历术甲子篇》的,非落下闳之功莫属。而刻意为之原貌保存传世的当然是太史公了。为什么司马迁与上中大夫公孙卿在治历中各吹各的号,各唱各的调?司马迁“非好学深思,心知其意,固难为浅见寡闻者也”之语,似乎专门为此而发。由落下闳公开师门秘典,当只算是不能十分肯定的揣度,但《历术甲子篇》非出于太史公亲笔,却是可以非常肯定的判断。 第三,如果说,《历术甲子篇》的主要文字是为总结概括太初改历,尽管司马迁引用了不是他本人研制的成果,仍不失为司马迁动笔写的文章。下面将要进一步阐述的理由说明,《历术甲子篇》主要数据根本不是《太初历》的历数,而是存在于治历之前早已有之的历术典藉,他老先生进行的重要工作,意在“厥协《六经》异传,整齐百家杂语,藏之名山,副在京师,俟后世圣人君子”。正说明《历术甲子篇》是司马迁特别看重而蓄意保存传世的《六经》之外的“异传”,而不是由他亲自动笔挥就的时文。 (二)、《历术甲子篇》数据不仅只适用于《太初历》的历谱。 阅《历术甲子篇》最容易的误会即认为此即必是《太初历》无疑。这也是错的。因为当朝有记载,《太初历》又名“八十一分历”,虽同以十九岁为一章岁,却无古四分历“蔀岁”的单位,而是直接以81章岁为一统岁,以3统岁为一元岁,一统岁1539岁计562120日为主要算历基数。由此数可以算出,它规定的一回归年为562120÷1539 = 365. 385/1539日≈365.25016…天;因为一统岁为235×81=19035朔望月,故一朔望月等于562120÷19035= 29.10105/19035 = 29. 43/81天;一日则分为81分。以上结果与《历术甲子篇》虽然大同,却有小异。从精度说,反比《历术甲子篇》略粗。从源流说,因为《太初历》本法不存,而《三统历》又不一定即是《太初历》,况且制《太初历》的邓平其人,最多只能算是算历的“工匠”,决无刘歆等级的学术造诣,搞不出一套三统历术系统性理论;但不勿略有大方士公孙卿从中撮合。他既有伪造天书《札》的本事,现在既要用老本本《历格甲子篇》真功实学,又另调一套近似“三统”的说法来迎合汉武帝的歪本事是有的。刘歆是正宗的有家学渊源的学问家,又是本朝人,如果不是有《太初历》历数雏形为据,凭空敷说《三统历》也是不可行的。因此,《太初历》本法只是汉后失存,不是原本无书;因之其基本内容,仍应以汉人刘歆之说为是。 或有人问:《史记·历书·历术甲子篇》每岁正文后即标出了汉武帝太初元年以下帝王年号,这不是太初以下的出谱吗?答曰:历谱固需预后几十乃至几百年,唯帝王年号决无预订之例,尤其是作者司马迁都死了之后的帝王年号,更无预卜先见之明?年号由后人加上,一点即明。至于在此老册子上,作了一些为便于转换运算新历的记注,倒是可能的,比如落下闳,他既负责“运算转历”,而且又估计《历术甲子篇》是由他贡献于世的,当不排除有他留下墨迹的可能。另外,《史记》汉武帝以下,有一位署名“后进好事者褚先生”,对一些表格作了续记。这位好事的褚先生也可能动笔。还有刘向、刘歆父子两人,也是有资格、有条件、有需要全文看《史记》的人,他俩也可能动。 《历术甲子篇》与由刘歆《三统历》表示的历数相差不大,似乎只有日分表示的方式不同?但若仔细校对,当除了有细微的区别外,也可以发现有明显不同的处所。请看本文表四历数中的第Ⅳ章岁栏第三格:48.931,表示的是《史记·历术甲子篇》记载的,汉元帝初元四年岁前十一月辛亥931分交朔。这一年合汉元帝初元三年(西元前46年)的十一月。有一巧合的机会,正好这一年的十一月二十九日庚辰,是罗马凯撒大帝制订《儒略历》定为元旦之日,也就是中华历纪与西历对照定为起点的日期。由二十九日庚辰,可推知十一月初一日干支为壬子,而己经不是辛亥日了。试述两历相差一天的理由。由于《三统历》法暂未介绍,先以一般历法常识推出:因前已述,《三统历》比《殷历》用的《历术甲子篇》历数每年大365. 25016-365. 25 = 0.00016天。西元前46年距西元前105年(前104年岁前十一月)为59年,用0.00016×59 = 0.00944天。日分为940分,乘之:0.00944×940 = 8.8736≈ 9日分。好了,由《历术甲子篇》48.931(辛亥931分)转换为《太初历》48.931+0.009=48.940=49.000(壬子0分)。按《太初历》此日干支正是“壬子”。这就很好地证实了:这一天实际历日是由《太初历》排定的为“壬子”,而非如《史记·历术甲子篇》记载出的日期安排的“辛亥”。当然,这一日之差,是由于相距5 9年两历精度不同的积差的结果。 上文的计算引用了8. 8736≈ 9,只是为了阅读的方便。此用近似值的方法用以确立论点,显然不够严密,可能让人不足征信。实际是(385÷1539-365.25)×59×940 = 9(940分制9日分);不是近似,而是准确的数。 再罗嗦两句:算日期间隔,今人会用“儒略日”法,很简便。我们的古代祖先不识儒略为何许人也,刘歆名之为“积日法”。他老先生由称为“历元”首日的甲子(六十甲子顺序用1表!)日往下推,至称为汉元帝初元四年岁前十一月朔日的“积日”,也就是相距天数为21528天,加1,得21529,再逢60的整倍数去之,余日为49,也就知为“壬子”日了。上面和算法用现代公式表示:(21529+1)MOD60 = 49,很简明。古时要用一大堆竹签子摆来摆去,这法儿我幸逢其时,也玩过。难乎哉?难得不错!全亏得古人有那份恒心。比如《左传》襄公三十年(前543年)记下来的那位绛县老叟,他就在别人盘问“尊寿几何”时,能随口即答出:小老儿正月朔日甲子日降生,至今日(指夏正岁前十二月二十二日)干支癸未,算来,共计活了四百四十五遍甲子加二十天。事后,人问师旷,师旷在点明其时的历史事件后,坟伯又一口推出为“共计是二万六千六百六十天”,史赵则马上由筹算码“二、⊥、⊥、⊥”联想到一个古篆体的“亥”字,而说出“亥有二首六身,则其日数也”的话来。此例说明,中国的古人老早就有算“积日”的功夫。 (三)、 《历术甲子篇》第一年名太初不是汉武帝年号“太初”。 《历术甲子篇》开头即说:“太初元年,岁名焉逢摄提格,月名毕聚,日得甲子,夜半朔旦冬至。”人们咸以为这就是汉武帝太初元年了!其实完全不是。这是司马迁只好留待后人来分辨的一个大误会。原因是:大方士公孙卿在其中插科打诨,玩了一个“喊着万岁哄万岁”的大花招。因为同时有三个不同概念的“太初”:一是历元“太初”,如果说合于武帝改历是历元的太初之年的话,也是由刘歆挑明的“以前历泰初四千六百一十七岁”算下来的三统复元的“泰初”,而不是《历术甲子篇》文意的:“太初”。人们忽略了公孙卿在八年前乘时干进时说的,那年十一月朔日干支“辛巳朔旦冬至,……汉主亦上封禅,则能仙而登天。”若从他指导邓平制订的《邓平历》即《太初历》往上反溯,无论如何算也是庚辰日而不会是他说过的辛巳日。奥妙在于,先时是用《殷历》推知的。按《殷历》那年是从距此岁1463(即前1567年)年由《殷历》甲寅历元的“太初元年”往下而得。当年为《殷历》第二十蔀第一章岁的第十二岁,查本文表四第一行第十二位,其数为57.184,加蔀余数21,得18.184,为辛巳日。再看一看,按《孝武帝本纪》记载的改元首日也是“甲子”日,但也不合《太初历》历元首日的“甲子日”,因为凡历元首日必月小,月只二十九天。然而《孝武帝本纪》却记曰:“十二月朔甲午,上亲禅高里,祀后土。”则上一个月是三十天而不是月小了。此说明直到太初元年年前的十二月,都还是用《殷历》授时的。由于方士公孙卿从中进行了“概念”偷换,汉武帝不明所以,或不愿意明所以,才有设局哄万岁的闹剧的发生。我们从二十七年后,有一位太史丞叫张寿王的披露可知其真象:改历时,确实销去了四分之三日,即突然抹去了《殷历》的“小余七百五分”,由原历的甲子日705分交朔,变成为甲子日0分交朔。本来经过消除积差,密近天象,是运算转历过程中的一项正大光明的工作,为会么要等汉武帝死后多年才以披露的方式暴光出来,就是因为汉武帝请了公孙卿这位歪嘴和尚念经的缘故。 《历术甲子篇》所用的“太初元年”指的是合西元前1567年作为的历元之年。只要认准了这一关键,《历术甲子篇》中的一切疑点,都可以迎刃而解。