中华民族自古以农业为立国之本。农业生产受到自然季节变化规律的支配,农事活动总要跟季节变化紧密配合。所以,历代统治者都把观测天象,编制历法,敬授民时,作为一件头等大事来抓,把颁布历法——“正朔”,视为掌握统治权力的象征。
汉朝建立后,“用颛顼历”,“袭秦正朔”,采用传统历日制度,以冬季十月为岁首,即以十月为每年的第一个月,但仍称十月而不称正月,最后一个月称作九月;每年按照冬、春、夏、秋的顺序安排。颛顼历创立于公元前4世纪,使用时间一长,误差加大。汉武帝元封七年,大中大夫公孙卿、太史令司马迁等上书皇帝,称:“历纪坏废,宜改正朔”。汉武帝接受建议,于五月命令公孙卿、司马迁等议造新历。他们编制的新历法就是《史记·历书》所载的《历术甲子篇》。
但是,这部新历法遭到朝野不少人士的反对。汉武帝命大典星射姓等复核新历法。经过一番观测验算,射姓等上奏:无法根据观测结果进行推算,建议招募朝野通晓历法者“更造密度”,重新编制历法。汉武帝采纳了这个建议,选择分管历法的官员邓平和长乐司马可、酒泉候宜君、侍郎尊及民间历法家方士唐都、巴郡落下闳,共二十多人,参与编制新历法。
在这次改革历法过程中,盖天说与浑天说产生激烈争论。盖天说和浑天说是两种不同宇宙结构学说。盖天说认为,“天圆地方”。它对宇宙的形象描述是,“苍天如圆盖,陆地如棋局”。浑天说认为,天是一个封闭的球壳,地处于其内,天球每天绕南北天极的轴线自转一周,可以带着日月星辰穿行地下。它对宇宙的形象描述是,“浑天如鸡子,天体如弹丸,地如鸡子中黄,孤居于内,天大而地小”。这寥寥数语,勾画出一幅天包水,水浮地的浑天结构图,为我们提供了一个与现代球面天文学中天球模型基本相同的浑天模型。浑天说显然比盖天说先进。
巴郡落下闳是浑天说的一代宗师。他与另一位民间天文学家唐都合作,“于地中(今洛阳)转浑天”,“观新星度,日月行,更以推算”,他们得出结果,与朝廷负责历法的官员邓平提出的“八十一分律历”的原则一致。所谓“八十一分律历”,是指朔望月日数的分母为八十一。古历一月为29又499/940日,它的策余,即日的小数部分比1/2大。邓平想化简它,倘若化作17/32,则大于古历的策余;倘若化做26/49,则小于古历策余;于是邓平把分子分母分别相加得到43/81的数据,他认为,这是最佳值。每个朔望月日数的分母是历法的基本常数。这样,落下闳和唐都编制的新历法得到初步认定。汉武帝指派宦官淳于陵渠核实。结果证明,落下闳和唐都编制的历法,“晦朔弦望,皆最密”。特别是推算出太初上元甲子夜半朔旦冬至时,“日月如合壁,五星如连珠”的罕见天象,准确无误。最终,在十八家改革历法方案的较量中,落下闳和唐都的方案胜出,这就是著名的《太初历》。
在这场改革历法的活动中,作为最高封建统治者——汉武帝没有表现出一丝一毫的专制独裁作风,却很有民主、科学的精神。
太史令司马迁是元封改历的首倡者之一。他信奉盖天说,在宇宙结构问题上属守旧派。他编制的新历法把太初元年,即公元前104年定为甲寅年,与当时的实际干支顺序相差22年。他的新历法被淘汰是合乎情理的。然而,元封改历中的失败,似乎把司马迁击倒,使他长久不能从失败的痛苦中解脱出来,以致于他竟然没有在《史记》中把浑天说与盖天说这场科学争论记录下来,也没把《太初历》记录下来,更没把民间天文学家落下闳的身世、业绩、归宿记录下来,反而把自己编制的被淘汰的《历术甲子篇》附录在《史记·历书》后。《太初历》的主要内容是靠《汉书·律历志》收录的《三统历》得以保存下来的。司马迁作为一名主管记录国家大事的官员,这实在是犯下了一种失职的错误。