历一

作者:张廷玉等朝代:类别:纪传体断代史 · 白话译文

本文永久链接:https://shishuguan.com/books/mingshi-baihuawen-full/volume-2/chapter-31

后世的方法比古代更完善,而且屡次修改越来越精密,只有历法最为显著。《唐志》说天体是运动的,时间久了就会产生误差,不得不屡次改变方法来推算。这种说法似乎有道理,但实际上并非如此。《易经》说:“天地的规律,是端正地显示给人们看的。”因为天的运行极为刚健,确实有固定的规律,本来没有古今的差异。它的岁差、盈缩、迟疾等各种运行,古代没有而现代有的,是因为这些数值非常微小,积累久了才显现出来。古人没有察觉,而后来的人知道了,但这并不是天体运行有了差错。如果天体果真长期运动而产生误差,那么一定会参差错乱而没有常规,又怎么能修改而使之更加精密呢?看史书记载,岁星失次、太阳运行失常的事情,在近代没有出现,也就可以明白了。天的运行度数多种多样,而人的智力有限,拿着短小的仪器,仰望苍穹,怎能完全洞察无遗呢。只有集合古往今来人的心思,继续研究改进,才差不多能符合实际。所以不能成为一成不变的方法。

从黄帝到秦朝,历法共改了六次。汉朝改了四次。从魏到隋,改了十五次。唐朝到五代,改了十五次。宋朝改了十七次。金朝到元朝,改了五次。只有明朝的《大统历》,实际上就是元朝的《授时历》,沿用了二百七十多年,没有改过历法。成化以后,日月交食往往不应验,议论改历的人很多。像俞正己、冷守中这样不知妄作的人暂且不论,而华湘、周濂、李之藻、邢云路这些人颇有见解。郑世子朱载堉撰写了《律历融通》,进献了《圣寿万年历》,他的学说来源于南京御史何瑭,深得《授时历》的要领,并能弥补其不足。钦天监官员拘泥于旧说,当权者害怕改作,都被阻止而未能实行。崇祯年间,议论采用西洋新法,命令内阁大臣徐光启、光禄卿李天经先后主持此事,编成《历书》一百三十多卷,大多阐发了古人未曾阐发的内容。当时平民魏文魁上疏排斥,皇帝下诏设立两局进行推算检验。经过多年校对测验,新法最为精密,但也没有来得及颁布实行。由此看来,历法本来就没有推行久了而不产生误差的,怎能不随时修改,以求符合天象呢。

现在选取各家论说,有裨益于历法的,写在篇首。而《大统历》则记述立法原理,以补充《元史·历志》的未完备之处。《回回历》始终隶属于钦天监,与《大统历》参互使用,也附录于此。

▲历法沿革

吴元年十一月乙未冬至,太史院使刘基率领他的下属高翼进呈戊申年《大统历》。太祖告谕说:“古时候在季冬颁布历法,太迟了。现在在冬至颁布,也不完善。应该在十月初一颁布,著为法令。”洪武元年改太史院为司天监,又设置回回司天监。下诏征召元朝太史院使张佑、回回司天太监黑的儿等共十四人,不久又召回回回司天台官郑阿里等十一人到达京城,商议历法。三年改司天监为钦天监,设立四科:天文、漏刻、《大统历》、《回回历》。由监令、少监统领。每年编造《大统民历》、《御览月令历》、《七政躔度历》、《六壬遁甲历》、《四季天象占验历》、《御览天象录》,按时进呈。日月交食的分秒时刻、起复方位,预先上报。十年三月,皇帝与群臣讨论天与七政的运行,群臣都用蔡氏左旋的说法回答。皇帝说:“朕自从起兵以来,仰观天象,天左旋,七政右旋,历家的论断,确实不容改变。你们还守着蔡氏的说法,难道这就是所谓格物致知的学问吗?”十五年九月,下诏翰林李翀、吴伯宗翻译《回回历书》。

十七年闰十月,漏刻博士元统上言:“历法以《大统》为名,而积分仍沿用《授时》的数值,这不是重视初始、敬奉正朔的做法。况且《授时历》以元朝辛巳年为历元,到洪武甲子年已积一百零四年,年久数盈,逐渐与天度有差,应当修改。七政运行不齐,其道理深奥。听说有个叫郭伯玉的人,精通九数之理,应当征召让他推算,以完成一代的历法制度。”批复同意。提拔元统为监令。元统于是取《授时历》,去掉其岁实消长的说法,分析其条例,得到四卷,以洪武十七年甲子为历元,命名为《大统历法通轨》。二十二年改监令、丞为监正、副。二十六年,监副李德芳上言:“监正元统制定洪武甲子历元,不用消长之法,用来考求鲁献公十五年戊寅岁的天正冬至,比辛巳年为元,差了四日半多。现在应当重新用辛巳年为元以及消长之法。”奏疏呈入,元统上奏辩解。太祖说:“两种说法都难以凭信,只检验七政交会行度没有差错的为正确。”从此《大统历》的历元用洪武甲子,而推算仍依照《授时》之法。三十一年撤销回回钦天监,其《回回历》科仍旧保留。

永乐年间迁都顺天,仍用应天府的冬夏昼夜时刻,到正统十四年才改用顺天的数值。这年冬天,景帝即位,天文生马轼上奏,昼夜时刻不宜改。下廷臣集中商议。监正许惇等说:“前任监正彭德清测验得到北京北极出地四十度,比南京高七度有余,冬至昼长三十八刻,夏至昼长六十二刻。上奏获准改入《大统历》,永为定式。马轼的话虚妄,不值得听从。”皇帝说:“太阳出入的度数,应当以四方之中为准。现在京师在尧时幽都之地,怎么可以作为标准。此后造历,仍用洪武、永乐旧制。”

景泰元年正月辛卯,卯正三刻月食。监官误推为辰初初刻,导致未能救护。交付法司,判处徒刑。下诏宽恕了他。成化十年,因监官多不称职,提拔云南提学童轩为太常寺少卿,掌管钦天监事。十五年十一月戊戌望日,月食,监推又误,皇帝认为天象微渺,不加罪责。十七年,真定教谕俞正己上《改历议》,下诏礼部及童轩参考。尚书周洪谟等说:“俞正己只据《皇极经世书》及历代天文、历志推算气朔,又用自己的意思创为八十七年约法,每月大小相间。轻率狂妄,应当治罪。”于是将俞正己下诏狱。十九年,天文生张升上言改历。钦天监说祖制不可变,张升的建议就此搁置。弘治年间,月食屡次不应验,日食也有差错。

正德十二、十三年,连续推算日食的起复时刻,都不符合。于是漏刻博士朱裕上言:“至元辛巳年距今二百三十七年,年久不能没有误差,如果不酌情加以增减,恐怕越久越错。请求选派大臣总理此事,让本监官生一半推算古法,一半推算新法,两相交验,回回科推算西域《九执历法》。仍派官到各省,候土圭以测量节气的早晚。往复参较,那么交食可以校正,而七政可以整齐。”礼部批复说:“朱裕及监官历学未必都精,今年十月望日月食,中官正周濂等所推算,与古法及朱裕所奏不同,请到期考验。”随后周濂等说:“太阳运行每年退行一分五十秒。今正德乙亥年,距至元辛巳年二百三十五年,赤道岁差,应当退天三度五十二分五十秒。不经改正,推算怎能符合。臣参较考验,得到正德丙子岁前天正冬至气应二十七日四百七十五分,命得辛卯日丑初初刻,太阳运行赤道箕宿六度四十七分五十秒,黄道箕宿五度九十六分四十三秒为历元。其气闰转交四应,以及周天黄赤道,各类立成,都从岁差,随时改正。望敕礼臣并监正主持此事。”礼部奏:“古法不可轻易改变,请仍用旧法。另选精通历学的人,同周濂等用新法参验,再行奏请。”皇帝同意。

十五年,礼部员外郎郑善夫说:“日月交食,日食最难测算。因为月食分数,只论距离交点的远近,没有四时加减,而且月亮小暗虚大,八方所见都相同。如果太阳被月亮所掩,则太阳大而月亮小,太阳在上而月亮在下,太阳远而月亮近。太阳运行有四时的差异,月亮运行有九道的分别。所以南北所见不同,时刻也不同。必须根据地点确定表影,根据时间以求符合。如正德九年八月辛卯日食,历官预报食八分六十七秒,而闽、广之地,竟至食既。时刻分秒,怎能相同?现在应当根据交食以更改历元,时刻分秒,必须使奇零剖析详尽。不然的话,积累岁月,躔离朓朒,又不符合了。”没有答复。十六年因南京户科给事中乐頀、工部主事华湘通晓历法,都提升为光禄少卿,掌管钦天监事。

嘉靖二年,华湘说:“古今善于治理历法的有三家,汉朝《太初历》用钟律,唐朝《大衍历》用蓍策,元朝《授时历》用晷景为接近。想要校正历法而不登台测影,都是空言臆见。希望允许臣暂时朝参,督率中官正周濂等,在冬至前到观象台,昼夜推测,日记月书,到明年冬至,以检验二十四气、分至合朔、太阳月亮运行、黄道赤道、昏旦中星、七政四余的度数,看与元朝辛巳年所测,离合如何,按次记录上报。再敕令礼部延访精通理数的人征召到京师,令详细确定岁差,以完成一代的历法制度。”下礼部集中商议,而护认为历法不可改,与华湘观点颇异。礼部说:“华湘想自行观测,并非没有见识。请两位大臣各尽所见,穷尽异同,以协调天道。”皇帝同意。

七年,钦天监奏:“闰十月初一,《回回历》推日食二分四十七秒,《大统历》推不食。”结果没有日食。十九年三月癸巳朔,台官说应当日食,结果没有日食。皇帝高兴,认为是上天眷顾,但其实是由于推算的疏漏。隆庆三年,掌监事顺天府丞周相刊刻《大统历法》,其历原历叙述古今各历的异同。万历十二年十一月初一癸酉,《大统历》推日食九十二秒,《回回历》推不食,后来《回回历》应验。礼科给事中侯先春因此说:“近来月食在酉时而报戌时,月食将尽而报未到九分,差错太严重了。《回回历》科推算日月交食、五星凌犯,最为精密,何妨编入《大统历》中,以备考验。”下诏同意。二十年五月戊戌夜月食,监官推算差了一天。

二十三年,郑世子朱载堉进献《圣寿万年历》、《律历融通》二书。奏疏大略说:“高皇帝革命时,元历未久,气朔未差,所以不更改,只是讨论润色而已。积年既久,气朔逐渐有差。《后汉志》说‘三百年斗历改宪’。现在以万历为元,而九年辛巳岁正当‘斗历改宪’之期,又符合‘乾元用九’之义,历元正在于此。臣曾取《大统》与《授时》二历比较,考古则气差三日,推今则时差九刻。时差虽然只有九刻,但处在夜半之际,所差便隔了一日。节气差天一日,则置闰差一月。闰差一月,则时差一季。时差一季,则岁差一年。其失误岂是小可?因为《授时历》减分太过,失之先天;《大统历》不减,失之后天。因而调和两家,酌取中数,立为新率,编撰成书,大旨出于许衡,而与旧历不同。黄钟是律历本原,而旧历很少提到。新法则以步律吕爻象为首。尧时冬至太阳运行的宿次,何承天推算在须、女十度左右,一行推算在女、虚之间,元人历议也说在女、虚之交。而《授时历》考之,却在牛宿二度。《大统历》考之,却在危宿一度。相差二十六度,都不与《尧典》符合。新法上考尧元年甲辰岁,夏至午中,太阳在柳宿十二度左右,冬至午中,太阳在女宿十度左右,心宿、昴宿昏中,各离午正不超过半次,与何承天、一行二家之说相合。这些都是与旧历不同的主要方面,其余详见《历议》。希望敕令大臣名儒参订采用。”

其方法首要称为“步发敛”。以嘉靖甲寅年作为历元,元纪为四千五百六十,期实为一千四百六十一,节气岁差为一秒七十五忽,岁周和气策没有固定比率,各自根据岁差推算使用。律应(即气应)为五十五日六十刻八十九分,律总旬周为六十日。其次是“步朔闰”。朔望弦策与《授时历》相同,闰应为十九日三十六刻十九分。其次是“步日躔”。太阳每日平行一度,躔周(即天周)为三百六十五度二十五分,躔中为其一半,象策再为一半,辰策为十二分之一的躔周。黄道、赤道的岁差,盈初缩末限和缩初盈末限,都与《授时历》相同,周应为二百三十八度二十二分三十九秒。(按《授时历》求日度的方法,用周应加上积度,从虚宿七度起算,这个周应是虚宿七度到箕宿十度的数值。《万年历法》用周应减去积度,从角宿初度起算,这个周应是箕宿十度到角宿初度的数值,应为二百八十六度四十五分。现在数值不合,似乎有误。)其次是“步晷漏”。北极出地度分,冬至和夏至的中晷固定数值,以及两至昼夜长短刻数,都以京师为标准。参考岳台,以体现各地里差的数值。其次是“步月离”。月球平行、转周、转中,与《授时历》相同。离周(即迟疾限)为三百三十六限十六分六十秒,离中为其一半,离象再为一半。转差为一日九十刻六十分。转应为七日五十刻三十四分。其次是“步交道”。正交、中交与《授时历》相同。距交为十四度六十六分六十六秒。交周、交中、交差,与《授时历》相同。交应为二十日四十七刻三十四分。其次是“步交食”。日食的交外限为六度,定法六十一,交内限为八度,定法八十一。月食的限定法度与《授时历》相同。其次是“步五纬”。合应:土星为二百六十二日三千零二十六分,木星为三百一十一日一千八百三十七分,火星为三百四十三日五千一百七十六分,金星为二百三十八日三千三百四十七分,水星为九十一日七千六百二十八分。历应:土星为八千六百零四日五千三百三十八分,木星为四千零一十八日六千零七十三分,火星为三百一十四日零四十九分,金星为六十日一千九百七十五分,水星为二百五十三日七千四百九十七分。周率、度率以及晨夕伏见度,都与《授时历》相同。

其中关于岁余的讨论说:“阴阳消长的道理,是逐渐积累的,没有不从秒开始的。《授时历》考据古代,在百年之际突然增加一分,在道理上不妥当。假如鲁隐公三年(酉岁),向下到至元辛巳年两千年,用《授时历》本来的方法计算,在岁实上应加二十分,得到庚午日六刻,作为那年的天正冬至。次年壬戌岁,向下到至元辛巳年一千九百九十年,本方法应加十九分,得到乙亥日五十刻四十四分,作为那年的天正冬至。两个冬至相减,得到相距三百六十五日四十四刻四十四分,那么岁余是九分之四日,不是四分之一日。历法的错误,没有比这更大的了。新法仔细斟酌,假设每年增减二秒,往上推,就会失去昭公己丑年;增减一秒到一秒半,就会失去僖公辛亥年。如今取中间数,其方法是:将定距自乘,乘以七再除以八,所得结果除以一百约分为分,得到一秒七十五忽,那么辛亥、己丑都能得到。”

关于日躔的讨论说:“古代历法见于《六经》,明白可考的莫过于日躔和中星。但推算历法的人很少有人通晓,大概是因为不知道夏历和周历的不同。大体上夏历以节气为主,周历以中气为主。何承天以正月甲子夜半合朔雨水作为上元,向前违背夏历朔日,向后不合周历正月。所以近代推算《月令》、《小正》的人,都不与古历相符。曾经用新法岁差,向上考究《尧典》的中星,那么所谓的四仲月,大概是从节气开始到中气结束,三十天内的中星罢了。后世的人执着于二分二至,这也是错误的。”

关于测北极的讨论说:“从汉朝到齐、梁,都认为纽星就是不动处。只有祖暅之测量知道纽星距离极星一度有余。从唐朝到宋朝,又测量到纽星距离极星三度有余。《元史·历志》采用三度,大概没有说明原因。新法不测量纽星,用日影验证,在正方案上,周天度内临时指认一度作为北极,从这度向右旋转,数到六十七度四十一分,为夏至日躔所在。再转到一百一十五度二十一分,为冬至日躔所在。向左旋转,数法也如此。四个点加上中心共五个点,各标记一根针。在冬至夏至日中午,将方案直立向南取影,使三根针的影子重合,然后悬绳界定取中间绵线,再取方十字界定,看横界上距离北极出地度分,就是极出地度分。”

关于晷影的讨论说:“何承天立表测量日影,才知道从汉朝以来,冬至都比实际晚三天。那么推算晷影,是治理历法的关键。《授时历》也凭晷影为本,但《历经》不载推算晷影的方法,这是缺漏。现在用北极出地度数,兼用弧矢两种方法来求,希望能穷尽它的原理。又根据地形高低,设立差数来穷尽变化,这是以前所没有的。”又说:“《授时历》的议论根据《前汉书·律历志》鲁献公十五年戊寅岁正月甲寅朔旦冬至,引用作为开端。献公十五年向下到隐公元年己未,相距一百六十一年,这不是春秋时期很明白了。但《元史·历志》却说‘从春秋献公以来’,又说‘昭公冬至,是日度失行的验证’,错了。献公甲寅冬至,没有别的根据,只有刘歆《三统历》这么说。难道《左传》不足以相信,而刘歆却可以相信吗?太初元年冬至在辛酉,刘歆却以为是甲子,差天三日,尚且不能知道,却能逆推上下数百年吗?所以春秋前后千年之间,气朔交食,《长历》、《大衍历》所推接近正确,刘歆、班固所说完全错误。”又说:“《大衍历》议论说宋元嘉十三年一月甲戌,影长是日度变行的结果,《授时历》的议论也这么说,我认为过分了。如果日度失行,应当像岁差一样,逐渐移动。今年既然已经不合,明年怎么能复合呢?大概前人所测,或许不够精密。冬至的影长一丈有余,表高晷长,那么影子虚淡,有人用望筒、副表、景符之类来求真实影子。但望筒可能一高一低,副表、景符可能一前一后,所依据的表可能稍有倾斜,圭面可能稍有斜侧,二至前后几天的影子,进退只在毫厘之间,也难以辨别。何况委托的人,不知道是否得当。九服之远,既然不是亲自测量,所报的晷影,难道足以相信吗?”

关于漏刻的讨论说:“日月带食出入,五星晨昏伏见,历家设方法全部依据晷漏作为标准。而晷漏则随地势南北、辰极高下而不同。元朝人都城在燕地,他们的《授时历》七曜出没的早晚,四时昼夜的长短,都依据大都晷漏。国朝初年定都金陵,《大统历》晷漏改到南京,冬夏至相差三刻有余。如今推算交食分秒,南北东西等差以及五星定伏定见,都依照元朝旧法,却单独改了漏刻,所以互相矛盾出现错误。所以新法晷漏,照依元朝旧制。”

关于日食的讨论说:“太阳轨道与月亮轨道相交处有两个,如果正好会合在交点,那么食尽;如果只在交点前后相近的地方,那么就食而不尽。这是天的交限。又有人为的交限,假如中国食尽,太阳底下,所亏才一半,化外之地,那么交而不食。换地方反观,也如此。为什么?太阳像大赤丸,月亮像小黑丸,共同悬挂一条线,太阳在上月亮在下,从下面正望它,黑丸必掩赤丸,好像食尽;等到旁观有远近的差别,那么食数有多有少。春分以后,太阳运行在赤道北侧,交外偏多,交内偏少。秋分以后,太阳运行在赤道南侧,交外偏少,交内偏多。因此有南北差。冬至以后,太阳运行在黄道东侧,午前偏多,午后偏少。夏至以后,太阳运行在黄道西侧,午前偏少,午后偏多。因此有东西差。日中仰视则高,旦暮平视则低。这有距午差。食在中午前见到早,食在中午后见到迟。因此有时差。所有这几种差,只有太阳有,月亮没有。所以推算交食,只有太阳较难。想推九服的变化,必须各据其地,考察晷影的短长,测量辰极的高低,差不多能得到。《历经》所推定的数值,只是以燕都所见来说罢了。旧说:‘月行内道,食多有验。月行外道,食多不验。’又说:‘天的交限,虽然属于内道,如果在人的交限之外,类似外道,太阳也不食。’此说似乎对,但不全面。假如夏至前后,日食在寅卯酉戌之间,人向东北、西北看,那么外道食分反而多于内道。太阳体大于月亮,月亮不能完全遮蔽它,有时遇到食尽,而日光四溢,形状如金环,所以太阳没有食十分的情况。即使食尽,也只有九分八十秒。《授时历》日食,阳历限六度,定法六十,阴历限八度,定法八十。各放置其限度,按其定法除之,都得十分。如今在其定法下,各加一个数来除限度,则得九分八十余秒。”

关于月食的讨论说:“暗虚,就是影子。影子遮蔽月亮,没有早晚高低的差异,四时九服没有不同。譬如悬挂一个黑丸在暗室,左边点蜡烛,右边挂一个白丸,如果烛光被黑丸遮蔽,那么白丸就受不到光了。人在四旁观之,所见没有不同。所以月食没有时差的说法。从《纪元历》妄立时差,《授时历》沿袭,错了。”

关于五纬的讨论说:“古法推算五纬,不如变数的加减。北齐张子信仰观岁久,知道五纬有盈缩的变化,应当加减以求逐日的躔度。大概五纬出入黄道内外,各自有其轨道,视太阳远近为迟疾,其变数的加减,如里路的径直斜曲。宋人有话说:‘五星行度,只在留退之际最多差。从内而进的,其退必向外;从外而进的,其退必由内。其轨迹好像沿柳叶,两头尖中间宽,往还的道路相距很远。所以星行两端度稍迟,因其斜行;中间行度稍速,因其径捷。’前代修历,只增减旧法罢了,未尝实际考察天度。其方法需测验每夜昏晓夜半,月亮及五星所在度秒,置簿记录。满五年,其间除去阴云昼见日数外,可行三年实行,然后可以用算术缀合。”

奏疏呈上后,礼部尚书范谦上奏说:“岁差的方法,自从虞喜以来,历代都有关于岁差方法的议论,但始终没有统一的规则。寻求岁差的方法大致有三种:考察月令中的中星,测量冬至夏至的日影,验证交食的分秒。用衡管考察,用圭表测量,用漏刻验证,这也接近于得到了。历法家把周天三百六十五又四分之一度,用来记录七政的运行,又把度分为百分,分再分为百秒,可以说是精密了。但是浑象的球体,直径只有几尺,布列周天度数,每度还不到一个指头宽,哪里能放置分秒呢?至于圭表树立不过几尺,刻漏的筹码不超过几寸。天既高且广,用寸长的东西去测量它,想要丝毫不差,不也很难吗?所以当误差在分秒之间时,无法验证,等到误差超过一度,才可以用仪器窥测。这就是为什么穷尽古今的智慧技巧,也不能完全掌握它的变化吧?正如世子所说,用《大统历》和《授时历》相比较,考证古代则节气相差三天,推算现今则时刻相差九刻。时刻相差九刻,在亥时和子时之间就会移动一天,在晦日和朔日相交时就会移动一个月,这在近期就可以验证。假设移动向前,那么新月出现在初二日的黄昏;假设移动向后,那么新月出现在初四日的傍晚。现在似乎还没有到这种程度。他的奏疏应该发给钦天监参订测验。世子留心历学,博通古今,应该赐予奖励。”皇帝听从了这个意见。

河南佥事邢云路上书说:“治理历法的要务,没有超过观象、测景、候时、筹策这四件事的。今年丙申年冬至,我测得是乙未日未正一刻,而《大统历》推算在申正二刻,相差九刻。而且今年立春、夏至、立冬都正好在子时半刻的交界。我推算立春是乙亥日,而《大统历》推算是丙子日;夏至是壬辰日,而《大统历》推算是癸巳日;立冬是己酉日,而《大统历》推算是庚戌日。相隔都是一天。如果元旦正好在子时半刻,那么就应该把正月初一退到腊月底,而朝贺大礼就要在正月初二举行了。这难道是小事吗?闰八月初一,日食,《大统历》推算初亏是巳正二刻,几乎食甚,而我观测初亏是巳正一刻,食分只有七分多。《大统历》实际上慢了将近二刻,那么闰应、转应、交应都应该有所增减了。”钦天监看到邢云路的奏疏,非常厌恶他。监正张应候上奏诋毁他,说他僭越狂妄,蛊惑世人。礼部尚书范谦于是说:“历法是国家的重大事务,士大夫应当讲求,不是历官所能私自垄断的。律例所禁止的,是妄言吉凶祥异的人。监官拘泥保守旧法,不能修改以合天象。幸好有这样的人,应当和衷共事,不应该妒忌。请求让邢云路提督钦天监事,督率官属,精心观测,以完成这一大典。”奏议呈上,没有回复。

万历三十八年,钦天监推算十一月壬寅朔日食的分秒和亏圆时刻,职方郎中范守己上疏驳斥其错误。礼官于是请求广泛寻求精通历法的学者,让他们与监官昼夜推测,希望历法没有差错。于是五官正周子愚说:“大西洋归化远臣庞迪峨、熊三拔等人,携带有他们国家的历法,很多是中国典籍所不具备的。请求参照洪武年间翻译西域历法的先例,选取懂历法的儒臣率领监官,将那些书全部翻译过来,以补充典籍的缺失。”在此之前,大西洋人利玛窦进贡土产,而庞迪峨、熊三拔以及能华同、邓玉函、汤若望等先后到来,都精通天文历法。礼部于是上奏:“精通历法的人,如邢云路、范守己被时人推重,请求改授他们京卿职务,共同管理历法事务。翰林院检讨徐光启、南京工部员外郎李之藻也都精心研究历理,可以与庞迪峨、熊三拔等一同翻译西洋历法,让邢云路等人参订修改。然而历法的疏密,没有比交食更明显的,要商议修改历法,必须重视测验。请求敕令有关部门修治仪器,以便从事。”奏疏呈入,留在宫中未批。不久,邢云路、李之藻都被召到京城,参与历法事务。邢云路依据他所学,而李之藻则以西法为宗。

万历四十一年,李之藻已改任南京太仆少卿,上奏西洋历法,大略说钦天监推算日月交食时刻和亏分的错误。并极力推荐庞迪峨、熊三拔以及华民、阳玛诺等人,说:“他们所论述的天文历数,有中国先贤所没有达到的,不仅论述其数字,还能阐明其所以然的道理。他们所制造的窥天、窥日的仪器,种种精妙绝伦。现在庞迪峨等人年纪渐老,请求敕令礼部开设历局,取用他们的历法,翻译成书。”礼科给事中姚永济也这样说。当时各项事务因循守旧,没有空闲开设历局。

万历四十四年,邢云路进献《七政真数》,说:“推算历法的方法,必须将两个交点相对。两个交点正确了,那么中间时刻分秒的度数,一一可以按定。日月的交食,五星的凌犯,都是日月五星的相交。两个交点相对,互相发明,七政的功能就完备了。”天启元年春,邢云路又详细陈述古今时刻,与钦天监所推算的互有差异。声称新法非常精密,奏章下发到礼部。四月壬申朔日食,邢云路所推算的食分时刻,与钦天监所推算的互有差异。他自称新法非常精密,到期检验,都与天象不合。邢云路又曾论《大统历》的宫度交界,应当用岁差考定,不应当仍然用《授时历》三百年前所测量的数据。又说月建与斗杓所指有关,斗杓有岁差,而月建没有改变。这些都是笃实的议论。

崇祯二年五月乙酉朔日食,礼部侍郎徐光启依照西法预先推算,顺天府见到食分二分多,琼州食甚,大宁以北不见食。《大统历》、《回回历》所推算的,顺天食分时刻,与徐光启的推算不同。后来徐光启的方法验证正确,其余的都疏漏。皇帝严厉斥责监官。当时五官正戈丰年等人说:“《大统历》是国初所定,其实就是郭守敬的《授时历》,二百六十年来没有丝毫增减。自从至元十八年造历,过了十八年到大德三年八月,已经应当食而不食,大德六年六月又出现日食而未能预报。当时郭守敬正掌管历局,也无可奈何,何况是拘泥守法的呢?现在如果沿用旧法,以后不能没有差错。”于是礼部奏请开设历局修改历法。于是任命徐光启督修历法。徐光启说:“近代谈论历法的各家,大都尊崇郭守敬的方法,至于岁差环转,岁实参差,天有纬度,地有经度,列宿有本行,月五星有本轮,日月有真会、视会,都是古代所未曾听闻的,只有西历有这些。而舍弃这几种方法,那么交食凌犯,终究不能精密吻合。应当采用西法参互考订,使之与《大统历》会同归一。”

不久徐光启上奏历法修正十件事:第一,讨论岁差,每年东行逐渐长短的数字,以纠正自古以来百年、五十年、六十年多少互异的说法。第二,讨论岁实的小余,过去多现在少,逐渐改变,以及日影长短年年不同的原因,以确定冬至,以正节气明确朔日。第三,每天测验太阳运行的经度,以确定盈缩加减的真率,东西南北高下的差异,以推算月行。第四,夜间测验月亮运行的经纬度数,以确定交转迟疾的真率,东西北高下的差异,以推算月行。第五,精密测量列宿的经纬行度,以确定七政的盈缩、迟疾、顺逆、离合、远近的数字。第六,精密测量五星的经纬行度,以确定小轮行度的迟疾、留逆、伏见的数字,东西南北高下的差异,以推步凌犯。第七,推算变化黄道、赤道广狭的度数,精密测量二道的距离,以及月亮、五星各道与黄道相距的度数,以确定交转。第八,讨论日月离开交点的远近以及真会、视会的原因,以确定距午时差的真率,以校正交食。第九,测量太阳运行,考知二极出入地表的度数,以确定周天纬度,以齐平七政。通过月食考知东西相距的地球经度,以确定交食时刻。第十,依照唐代、元代的方法,随地测验二极出入地表的度数,地球经纬,以求得昼夜晨昏的长短,以校正交食的有无、先后、多少的数字。于是推荐南京太仆少卿李之藻、西洋人能华民、邓玉函。皇帝答复可以。九月癸卯日开设历局。崇祯三年,邓玉函去世,又征召西洋人汤若望、罗雅谷翻译书籍演算。徐光启晋升为本部尚书,仍然督修历法。

当时巡按四川御史马如蚊推荐资县生员冷守中精通历学,把他所呈的历书送到历局。徐光启极力驳斥其错误,并预推次年四月四川的食时刻,让他临时比测。崇祯四年正月,徐光启进献《历书》二十四卷。夏四月戊午日,夜望月食,徐光启预推分秒时刻方位。上奏说:“日食随地不同,所以用地纬度算其食分多少,用地经度算其加时早晚。月食的分秒,海内各地都相同,只用地经度推求先后时刻。我根据地图约略推步,开列各布政司月食初亏度分。因为食分多少既然天下都相同,那么其余的比例可以类推,不像日食的经纬各不相同,必须详细完备。又月体十五分,则全部进入暗虚也只有十五分而已。现在推算为二十六分六十六秒,是因为暗虚体大于月,如果食时离交点稍远,那么月体不能全部进入暗虚,只从月体论其分数。今晚的月食,非常接近交点,所以月入暗虚十五分才为食既,再进十一分有余,才得生光,所以为二十六分有余。如《回回历》推算十八分四十七秒,大致与此法相同。”后来四川报告冷守中所推算的月食实际相差两小时,而新法精密吻合。

徐光启又进献《历书》二十一卷。冬十月辛丑朔日食,新法预推顺天府见食二分一十二秒,应天以南不见食,大汉以北食甚,按例京师见食不及三分,不进行救护。徐光启说:

“月食发生在夜里,加时早晚,似乎没有定准。只有日食按日晷定时,无可迁就。所以历法的疏密,这是确切的证据。我们编纂新法,逐渐就绪,而距下次交食的时间还远,此时不与监臣共同见证,等到历法编成后,将凭什么取信?而且这次日食必须观测等待,更有理由。

旧法认为食在正午,则没有时差。现在这次日食既然在日中,而新法仍然有时差,是因为七政运行都依照黄道,不经过赤道。旧法所谓的正中是赤道的午中,不是黄道的正中。黄赤二道的中点,只有冬至夏至加时正午,才能同度。现在十月初一距离冬至度数尚远,两个中点的差,有二十三度多,怎么能因为加时近午,就不加不减呢?恰好遇到这一天,又值这个时刻,足以验证时差的正确方法,这是第一。

本地的东西经度,没有得到真率,则加时难以确定,其方法必须从交食时测验数次,才可以较勘统一。现在这次日食按照新术测候,其加时刻分,如果以后不吻合,应当取从前所记载的经度分,斟酌改定,这可以求得里差的真率,这是第二。

时差这一方法,只知道中午没有加减,而不知道中午分为黄道中午和赤道中午,现在一旦亲眼见到,人人都知道加时是由于黄道,由此推彼,其他方法也都如此,足以知道学习很容易,这是第三。

即使食分很少,也应当详细测候,以求显验。”

皇帝认为他说得对。到了那天,徐光启率领监臣预先检查日晷,调整漏壶,用测高仪器测量食甚时的日晷高度。又在密室中斜开一条缝隙,放置窥筒、望远镜以测量亏圆,白天用日体分板分数图板以确定食分,其时刻、高度都吻合,只有食甚分数没有达到二分。于是徐光启说:“现在食甚的度分密合,那么经度里差已经无需再更改了。唯独食分不吻合,原来推算的原因大概是太阳光太强,能够减弱月魄,必须食分达到四五分以上,才能与原推相合,然而这次测量,用了密室窥筒,所以能得到这个分数,倘若只凭目力,或者用水盆照映,就会眩耀不定,恐怕少的不止这些。”

当时有一位满城县的平民魏文魁,撰写了《历元》、《历测》两本书,让他的儿子魏象乾把《历元》进献给朝廷,通政司将书送到历局检验。徐光启摘出其中应当极力辨析的七件事:第一,岁实(回归年长度)从汉代以来,历代都有减少的差值,到《授时历》减少为二十四分二十五秒。按照郭守敬的方法,每百年消减一秒,现在应当是二十一秒有余。但《历元》采用赵知微的三十六秒,反复突然增加。第二,用弧背求正弦和余弦,应当采用精确的圆周率。现在《历测》中仍然使用径一围三(圆周率近似3)的方法,不符合弧矢的真实数值。第三,盈缩的界限,不在冬至和夏至,应当在冬至和夏至后六度。如今考察太阳运行,从春分到夏至,从夏至到秋分,这两个时段中,每天的时长不等。另外从立春到立夏,从立秋到立冬,这两个时段中,每天的时长也不等。通过测量可以看出来。第四,说月亮在远地点运行快,在近地点运行慢,并且用圭表测量得到这个结论,这是错误的。月亮的快慢是月球运行周期内的事情,用圭表测量高低是月球交食轨道内的事情,怎么能混淆推算。而且月球在运行周期之上,又向左旋转,所以远地点向西移动极慢,近地点向东移动极快,旧法正好相反。第五,说日食发生在正午没有时差,这是错误的。时差是指距离,不是距离赤道的午中,而是距离黄道界限东西各九十度的中点。黄道界限的中点,有的距离子午线前后二十多度,只按照午正加减,怎么能一定符合。第六,说交食的界限,月亮在黄道北时八度,在黄道南时六度,这是错误的。日食,月亮在黄道北时应当十七度,在黄道南时应当八度。月食则无论南北都是十二度。第七,《历测》说:“宋文帝元嘉六年十一月己丑初一,日食食分不足如钩,白天能看到星星。现在用《授时历》推算,只食六分九十六秒,郭守敬的历法错了。”月食天下相同,日食各地不同。南宋建都于金陵,郭守敬历法制作于燕地,北极出地高度差八度,时间在十一月则食分差应得将近二分,它说“不尽如钩”,应当在大约九分左右。郭守敬历法推得七分弱,正好吻合,不是错误。本局现在确定日食食分,首先说交食条件,其次说地点,再次说时间,一项都不能缺少。随后魏文魁反复辩论诘难,徐光启进一步申说之前的观点,撰写了《学历浊辨》。

他论述岁实的小余和日食的变差尤其清晰。说:“岁实的小余,从汉代到元代逐渐消减。现在新法确定的回归年长度,比元代还要减少。不了解的人必定说不仅比天道超前,更比《大统历》超前。然而用新法推算壬申年的冬至,《大统历》得到己亥日寅正一刻,而新法得到辰初一刻十八分。这是为什么呢?因为确定岁首年份与推算月行相似,冬至没有固定的数值,与定朔、定望没有固定数值是一样的。朔望没有固定数值,应当用平朔望加减;冬至没有固定数值,应当用平年加减。所以新法的平冬至,虽然在《大统历》之前,但定冬至常常在《大统历》之后。”又说:“宋仁宗天圣二年甲子岁,五月丁亥初一,历官推算应当发生日食却没有发生,各家历法推算都说应当日食。从历法规则来说确实应当日食,但从当时实际情况来说确实没有日食。现在应当如何解释呢?因为日食有变差这一方法,月亮在黄道北,距离交点十度以上,按规则应当日食。但唯独这一天此地,南北差变为东西差,所以从天体运行来说,地心与日月相对成直线,实际上不失食。但从人眼所见,日月之间的距离由近变远,实际上不得见食。只有汴京是这样,如果从汴京向东数千里,则逐渐见到日食,到东北一万多里以外,则完全见到日食。变差因时间不同,有时多变为少,有时少变为多,有时有变为无,有时无变为有。推算历法的困难,全在于这些地方。”不久,徐光启进入内阁。

崇祯五年九月十五日,月食,钦天监推算初亏在卯初一刻,徐光启等人推算在卯初三刻,回回科推算在辰初初刻。三种方法不同,导致皇帝下旨质问。到观测时,阴云密布看不见,无法验证。徐光启详细陈述三种方法不同的原因,说:

时刻的加减,是由于盈缩和迟疾两种差值。而盈缩差,旧法从冬至夏至开始,新法从远地点开始,远地点有移动分值,只有宋代绍兴年间与夏至同度。郭守敬之后一百年,离开一度有余,所以没有觉察。现在远地点在夏至后六度。这是两种方法盈缩差不同的原因。迟疾差,旧法只用一整个运转周期,新法称为自行轮。自行轮之外,又有两次轮。这是两种方法迟疾差不同的原因。至于《回回历》又不同,或许是由于四应,或许是由于里差,我确实不明白其中的缘故。总之,三家都依照各自的方法推算,不能改变方法迁就。

将来有应当研究的两件事:一是食分多少。日食时,阳光强烈闪耀,常常先被食而后看到。月食时,游气纷扰,常常先看到而后被食。其差值达到一分以上。现在要准确看到实际食分,有最近制造的窥筒,日食时,在密室中取其光影,映照在白色绢帛上,从初亏到复圆。食分数值准确,清晰无误。月食时用窥筒仰头观察二体离合之际,轮廓明显。与目测完全不同。这是确定食分的方法。二是加时早晚。确定时间的方法,壶漏是古法,轮钟是新法,但不如从太阳和星辰求得,白天用太阳,夜晚任意用一颗星。都用仪器测量经纬度数,推算得到。这是确定时间的方法。这两种方法确立后,那么各种方法的疏密,丝毫不能隐藏。

古往今来的月食,各史书没有记载。日食,从汉代到隋代,共二百九十三次,而发生在晦日的七十七次,晦日前一天的两次,初二日的两次,其疏漏如此。唐代到五代共一百一十次,而发生在晦日的一次,初二日的一次,初三日的一次,稍微精密了。宋代共一百四十八次,没有晦日日食,更精密了。还有推算应当日食却没有日食的一次。至于加时差到四五刻的,在当时就已经如此。可知高远无穷的事,必须积累时间经历世代,才能逐渐看到端倪。所以从汉代到现在一千七百年,制定历法的有十三家,而郭守敬最优,尚且不能没有刻的误差,何况沿袭旧法的人,怎么能看到它的精密呢?

这一年,徐光启又进献《历书》三千卷。明年冬十月,徐光启因病辞去历务,由山东参政李天经接替。过了一个月徐光启去世。崇祯七年,魏文魁上奏说,历官所推算的交食节气都不对。于是命令魏文魁入京测验。这时谈论历法的有四家,除了《大统历》、《回回历》外,另立西洋历为西局,魏文魁为炙局。各家说法各不相同,纷乱如聚讼。

李天经缮写进献《历书》共二十九卷,以及星屏一件,都是已故辅臣徐光启率领西洋人制造的。李天经预先推算五星凌犯会合运行度数,说:“闰八月二十四日,木星侵犯积尸气。九月初四黄昏初刻,火星与土星同度。初七卯正,金星与土星同度。十一日黄昏初刻,金星与火星同度。旧法推算火星与土星同度在初七,是晚了三天。金星与火星同度在初三,是早了八天。”而魏文魁说,李天经所报告的,木星侵犯积尸气不符合。李天经又说:“我在闰八月二十五日夜及九月初一夜,同体臣陈六韦等人,用窥管观测,看到积尸气是几十颗小星围聚,木星与积尸气,都纳入管中。因为窥管圆径一寸左右,两星相距三十分以内的,才能一同看到。如觜宿三星相距二十七分,就不能一同看到。而魏文魁只凭臆想推算,没有经过实测。据他说初二日木星已在柳宿之前,那么此前难道能越过鬼宿飞渡吗?”李天经又推算木星退行、顺行,两次经过鬼宿,其度数和时刻,后来都得到验证,于是魏文魁的说法被驳倒。

李天经又进献《历书》三十二卷,以及日晷、星晷、窥筒等仪器。崇祯八年四月,又呈上《乙亥丙子七政行度历》及《参订历法条议》二十六则。

其中七政公说的七条建议:第一,各天体的历元应当修改。太阳、月亮、五星平行起算的根点就是历元,即某天体某日某时在某一宫次的位置。现在新法修改确定各历元,都从崇祯元年戊辰前冬至后己卯日子正开始。第二,测量各天体运行度数,应当使用黄道仪。因为太阳沿黄道运行,月亮和行星各有本道,出入黄道内外,不沿赤道运行。如果用赤道仪测量,得到的经纬度数,必须用黄赤转换表换算,不如用黄道仪,直接得到七政的本度来得方便。第三,各地七政的运行度数,因地不同。太阳和月亮的东西见食时间各有先后,已经无疑问。那么太阳运行二十四节气,与月亮行星的掩食凌犯,怎能不与交食同一道理?所以新法编成的各种表格,虽然以顺天府为主,但推算各地运行度数也各有本来的方法。第四,各天体加减分,用平、立、定三差法,还不够。因为加减平行以求自行,是历家的要务。只是天是圆体,与平行不同类,旧所用的三差法,都是从勾股平行确定的,与天体不符合。即使计算盈缩损益的数值,也得不到真实值。现在新法加减各表,是用圆来配合圆,才能符合天象。第五,随时随地可以求各天体的经度。旧法要得到某日天体经度,必须先推算各天体冬至日所行的宫度宿次,然后才用各段日度比算得到。现在方法不拘泥于时间和地点,只翻查本表推算即可。第六,径一围三,不是弧矢的真实方法。古代历家用直线测量圆形,名叫弧矢法,而计算用径一围三,是错误的。现在建立割圆八线表,使用简便而效用广大。弧矢等线,只需乘除一次,就能得到。第七,球面上的三角三弧形,不是勾股能完全处理的。古代方法测天以勾股为本,但勾股能处理直角,不能处理斜角。而且天是圆球,其表面与各道相割产生许多三弧形,勾股不足以处理。

关于恒星的四个建议:第一,恒星本身的运行,即所谓岁差,从黄道极起算。因为各星距离赤道的度数,古今不同。它们距离赤道内外的位置,也古今不同。而距离黄极或黄道内外,则始终如一,所以知道太阳、月亮、行星都沿黄道运行。恒星本身的运行,应从黄极起算,作为岁差的比率。第二,古今各宿的度数不同。因为恒星以黄道极为极,所以各宿距星的运行度数,与赤道极有时近有时远。运行逐渐靠近极,那么赤道通过距星所产生的线逐渐密集,其本宿的赤道弧就较小。逐渐远离极,那么通过距星的线逐渐稀疏,其本宿的赤道弧就较大。这是因为二道二极不同,不是距星有不同运行,也不是距星有易位。如觜宿距星,汉代测量距参宿二度,唐代测量一度,宋代崇宁年间测量半度,元代郭守敬测量五分。现在测量,不止没有分,而且侵入参宿二十四分,这不是一个证据吗?第三,夜晚观测恒星确定时间。因为太阳沿赤道左行,每十五度为一小时。现在任意测量一星距子午圈前后的度数,又用本星的经行与太阳经行查加减,得到太阳距子午圈的度数,因而变为真时刻。第四,宋代所定的十二宫次,在某宿某度,现在不能确定在某宿某度。因为恒星有本身运行,宿度已经右移的缘故。

关于太阳的讨论有四条:第一,太阳运行速度变化的界限,并不是冬至和夏至,而是所谓的远地点和远地点移动。这个界限每年向右移动,现在已经超过冬至点和夏至点后六度多。第二,用圭表测量冬至和夏至,并不是好方法。因为冬至和夏至前后,太阳南北方向移动的度数非常小,以高达一丈的表来说,一天的影差不过一分三十秒,那么一秒相当于六刻多,如果测量误差有两三秒,就会差将近二十刻,怎么能得到准确值呢?现在新的方法只采用春分和秋分,因为这时候太阳一天南北移动二十四分,一天的影差是一寸二分,就算测量误差有一两秒,算下来也不足一刻,比冬至和夏至要精确得多。第三,日出和日落的时刻,应该从顺天府(北京)开始计算。因为各地的北极出地高度不同,晨昏时刻也因此不同。《大统历》依据应天府(南京)计算,导致昼夜长短、日月在东西方向上的交食推算不准确。现在按照天象重新改定。第四,平节气并不是天上的真实节气。因为旧法的节气间隔,是将一年平均分成二十四份。但太阳运行有快有慢,不能平均分配。如果平均分配,就会导致春分晚两天,秋分早两天。现在全部改定。

关于月亮的讨论有四条:第一,除了朔望之外,还有额外的增减量,单用一个加减值不能完全概括。因为旧法确定月亮平均运动,计算朔望的加减值,大体上是五度多,但两弦时实际数量有多有少,即使《授时历》也说朔望之外,平均运动数值不确定,讲明了道理却没有给出方法。现在在加减之外,再增加一个加减值,称为二三均数。第二,月亮的纬度不能固定在五度,有时多有时少。古今历法家通过交食分数和交泛等测量,确定黄道和白道相距大约五度。但朔望之外两道的距离有增有减,最大距离是五度又三分之一度。如果一个月有两次交食,在弦时用仪器测量距黄道五度,不能符合天象。第三,交点运行有增减量。罗喉和计都就是正交和中交点运行度数,古今都认为是均匀运动。如今仔细测量,月亮有时正好在交点上,用均匀运动来推算,必然不合。因此设一个加减值,作为交点运动的均数。第四,天象中并没有紫气。旧法说紫气产生于闰余,又是木星的余气。现在仔细考察各个星体,没有可见的形象,知道是虚妄增加的。

关于交食的讨论有四条:第一,日月和影子的直径大小并不固定。因为日月有时在远地点,有时在近地点,由于距离有远近,看上去就有大小。又因为远近不同,月球经过影子时,厚度也不同,所以直径大小不能一成不变。第二,日食的正午并不是中限,而是以黄道九十度限作为中限。因为南北差和东西差都依据黄道,那么时差怎能不按照黄道来讨论它的开始和结束以求中限呢?而且黄道高出地平,两个象限各有自己的高度,也各自有它们的中限。这个道理不明白,就会该加的反减,该减的反加,凡是推算不合的都是因为这个原因。第三,日食初亏和复圆的时间长短经常不相等,不是两倍食甚时间的说法。因为视差能够把实际运动变成视运动,如果用视差来比较食甚前后,很少有不参差不齐的。既然视差在食甚前后不一样,又怎能让视运动前后一致呢?现在用视运动来推算变动的时刻,那么初亏和复圆不相等就很明白了。第四,各地要依据当地经度来推算时刻和日食分数。因为地面上东西方向看日月出没,各有先后不同,所得时刻也不同。所以虽然看到的是同一次交食,但时刻不同,这是日月食共同的道理。至于日食,因为视差随地不同,月球视距也不同,看到的食分也会不同。

关于五大行星的讨论有三条:第一,五星应该用太阳的视运动来推算,不能按段落确定。因为五星都以太阳为主,与太阳相合时就运行快,相冲时就逆行。而且太阳运行有快有慢,那么五星合伏的天数,有时少有时多,自然不能按段落确定它们的度分。第二,五星应该加上纬度运动。因为五星出入黄道,各有固定的距离。而且木星、土星、火星在冲太阳时纬度大,合太阳时纬度小。金星、水星在顺伏时纬度小,逆伏时纬度大。第三,测量五星,应该用恒星作为标准。因为测量星体除用黄道仪外,还应该用弧矢等仪器。用所测的纬度星,看它距离某两颗恒星多少度分,按照方法布算,才能得到该星的真经纬度分。或者画图也可以免去计算。

这时新法书籍和仪器都已完备,多次观测交食、凌犯都很吻合,但魏文魁等人多方暗中阻挠,内官们在旁边支持他们。所以皇帝不能决断,谕令李天经同监局的官员虚心详细研究,务必求得统一。这一年,李天经推算水星出现和木星所在的位置,都与《大统历》不同,而新法符合实际。又推算八月二十七日寅正二刻,木星、火星、月亮同在张宿六度,而《大统历》推算木星在张宿四度,火星、月亮在张宿三度。到了那天,果然同在张宿六度。九年正月十五日辛酉,清晨望月食。李天经及《大统历》、《回回历》、东局各自推算亏圆、食甚的分秒时刻。李天经担心到时云遮难以看见,就按照里差,推算河南、山西所见时刻,奏请派遣官员分头去测量验证。那天,李天经与罗雅谷、汤若望、大理评事王应遴、礼臣李焻以及监局守登、文魁等去观象台测量,只有李天经的推算完全符合。不久,河南报告的结果完全符合原推算,山西则因食时云掩无法验证。

皇帝因为测验月食,新法比较接近,但十五日是雨水,而李天经以十三日为雨水,命令他再奏明。李天经回答说:谕旨说节气有两种方法:一为平节气,一为定节气。平节气是把一年的实际长度平均分成二十四份,每得到十五天多,就是一个节气。所以从岁前冬至起算,必须经过六十天八十七刻多才是雨水。旧法所推十五日子正一刻就是这样的。定节气是把三百六十度作为周天度,也平均分成二十四份,每得到十五度就是一个节气。从岁前冬至起算,经过五十九天二刻多,太阳运行满六十度就是雨水。新法所推十三日卯初二刻八分就是这样的。太阳的运行有快有慢,不用方法加减,必然不符合天象,怎能平均分配一年的长度作为节气呢?用春分来验证,这个道理更明白。春分是黄道和赤道相交的点,太阳运行到这里,昼夜平分。旧法在二月十四日下面注明天昼五十刻、夜五十刻就是这样的。既然十四日昼夜已经平分,那么新法推算十四日为春分符合天象,而旧法推算十六日,就晚了两天。知道了春分,那么秋分和各节气就可以知道,对雨水就没有疑问了。

不久李天经在春分那天,每天中午去观象台测量午正太阳高度。二月十四日高五十度八分,十五日高五十度三十分。李天经于是说:京师北极出地三十九度五十五分,那么赤道应该高五十度五分,春分日太阳正当赤道上,它的午正高度与赤道高度相等,过了这一天,太阳高度必然逐渐增多。现在以十四日所测高度,加上地半径差二分,比赤道已经多出五分。原来推算春分在卯正二五分弱,这时每天纬度移动二十四分弱,时差二十一刻五分,那么纬度移动应加五分强。到十五日,加上地半径差,比赤道高度已经多出三十分,何况十六日呢?所以春分应当在十四日,不在十六日。秋分也是这样。又出示《节气图》说:内规分三百六十五又四分之一度,是日度。外规分三百六十度,是天度。从冬至起算,经过九十一日三十一刻六分,才到春分,这是太阳运行的限度,但在天度上已超过二度多。又经过二百七十三日九十三刻十九分,就交秋分,这也是太阳运行的限度,但在天度上还差二度多。这难道不是旧法春分总是晚两天,秋分总是早两天吗?

十年正月初一辛丑,日食,李天经等人预先推算京师见食一分一十秒,应天府以及各省的分秒各不相同,只有云南、太原不见食。初亏、食甚、复圆的时刻也不同。《大统历》推算食一分六十三秒,《回回历》推算食三分七十秒,东局所推只是游气侵光三十多秒。而食时验证,只有李天经的推算最精密。当时将要废除《大统历》,采用新法,皇上另外管理历局事务的代州知州郭正中说:“中国历法一定不能全部废除,西洋历法一定不能单独推行。四种历法各有长短,应当综合各家,兼收西法。”十一年正月,于是下诏仍行《大统历》,像交食经纬、晦朔弦望等,因为年代久远有误差的,参考新法,与回回科并存。同年,晋升李天经为光禄寺卿,仍管理历务。十四年十二月,李天经说:“《大统历》设置闰月,只论月份没有中气,新法则还要看合朔的先后。现在所进的十五年新历,其十月、十二月中气,正好交在次月合朔时刻之前,所以月份内虽无中气,实际上并不是闰月。因为中气在朔日前,那么这个中气还属于前月的晦日。到十六年第二月只有惊蛰一个节气,而春分中气交在第三月合朔之后,那么第二月是闰正月,第三月是第二月,就毫无疑问了。”当时皇帝已经深知西法的精密。到十六年三月朔日乙丑日食,测验又只有新法准确。八月,下诏说西法果然精密,就改为《大统历法》,通行天下。不久明朝灭亡,竟然没有施行。本朝用为《宪历》。

按:明朝制度,历官都是世袭职业,成化、弘治年间还能提出修改的议论,万历以后就都固守己见、抱残守缺了。那些不是历官而通晓历法的人,除郑世子之外,唐顺之、周述学、陈壤、袁黄、雷宗都有著作。唐顺之没有成书,他的议论散见于周述学的《历宗通议》、《历宗中经》。袁黄著有《历法新书》,其中的天地人三元,本于陈壤。而雷宗也著有《合璧连珠历法》,都是会通回回历而入《授时历》,虽然不能像郑世子那样精微,但对于中西历理,也有所阐发。邢云路的《古今律历考》,有人说本出于魏文魁之手,文魁的学问本来浅薄,难怪他所疏解的《授时历》,都不能得到它的要领。

西洋人来到中国的人,都自称瓯罗巴人。他们的历法与回回历相同,而更加精密。曾考察前代,远国之人讲论历法的多在西方,而东南北没有听说。(唐代的《九执历》,元代的《万年历》,以及洪武年间所译的《回回历》,都是西域的。)大概尧命羲和、羲仲、羲叔、和仲、和叔分别掌管四方,羲仲、羲叔、和叔以隅夷、南交、朔方为界,只有和仲只说“宅西”,而不限定地方,难道不是当时声教向西传播得很远吗?到了周末,天文世家子弟分散。西域、天方各国,与西部边境接壤,若论东南有大海阻隔,又无北极严寒的畏惧,那么携带书籍仪器向西迁移,形势本来方便。瓯罗巴在回回西边,风俗相类,而好奇喜新争胜的习性超过他们。所以历法与回回同源,而世代增修,就不是回回所能赶得上的,也是他们好胜的欲望造成的。羲和既已失守,古籍中可见的,只有《周髀》的范围,也可以知道其源流的来由了。广泛搜求采择以继承千百年失传的学问,也是礼失求野的意思,所以详细论述。