〔86〕胄玄所谓历法,与古不同者三事:其一,宋祖冲之于岁周之末,创设差分,冬至渐移,不循旧轨,每四十六年,却差一度。至梁虞广刂历法,嫌冲之所差太多,因以一百八十六年,冬至移一度。胄玄以此二术,年限县隔,追检古注,所失极多。遂折中两家,以为度法,冬至所宿,岁别渐移,八十三年,却行一度。则上合尧时,日永星火;次符汉历,宿起牛初。明其前后,并皆密当。其二,周马显造《丙寅元历》,有阴阳转法,加减章分,进退蚀余,乃推定日,创开此数。当时术者,多不能晓。张宾因而用之,莫能考正。胄玄以为加时先后,逐气参差,就月为断,于理未可。乃因二十四气,列其盈缩所出。实由日行迟,则月逐日易及,令合朔加时早;日行速,则月逐日少迟,令合朔加时晚。检前代加时早晚,以为损益之率。日行,自秋分已后至春分,其势速,计一百八十二日而行一百八十度;自春分已后至秋分,日行迟,计一百八十二日而行一百七十六度。每气之下,即其率也。其三,自古诸历,朔望逢交,不问内外,入限便蚀。张宾立法,创有外限,应蚀不蚀,犹未能明。胄玄以日行黄道,岁一周天;月行月道,二十七日有余一周天。月道交络黄道,每行黄道内十三日有奇而出,又行道外十三日有奇而入,终而复始。月经黄道,谓之交。朔望去交前后各五度以下,即为当蚀。若月行内道,则在黄道之北,蚀多有验;月行外道,在黄道之南也,虽遇正人,无由掩映,蚀多不验。遂因前法,别立定限,随交远近,逐气求差,损益蚀分,事皆明著。
胄玄所提出的历法,和古代历法不同的地方有三件事:第一,南朝宋的祖冲之在岁周末尾创制了差分,认为冬至点逐渐移动,不遵循旧的轨道,每46年向后差一度。到了梁代虞广刂的历法,嫌祖冲之定的差值太大,于是定为186年冬至移动一度。胄玄认为这两种方法年限相差太远,检验古代的记载,发现有很多失误。于是采取了折中的办法,定出度法,认为冬至所在的星宿每年逐渐移动,83年向后移动一度。这样上符合尧典中说的"日永星火",下符合汉代历法以牛宿初度为起点。说明前后都密合准确。第二,北周的马显编撰了《丙寅元历》,其中有阴阳转法,加减章分,进退蚀余,用来推定太阳位置,开创了这个数据。当时研究历法的人大多不懂。张宾沿用了这个方法,没能考证清楚。胄玄认为加时的早晚,随节气不同而变化,仅根据月亮来断定,在道理上说不通。于是按照二十四节气,列出了其中盈缩的原因。实际上是太阳运行慢的时候,月亮就容易追上太阳,使得合朔的时刻提早;太阳运行快的时候,月亮追上太阳就稍慢,使得合朔的时刻推迟。考察前代合朔加时的早晚,作为增减的比率。太阳运行,从秋分以后到春分,它的速度较快,计算182天运行180度;从春分以后到秋分,太阳运行较慢,计算182天运行176度。每个节气下面,就是它的比率。第三,自古以来各种历法,在朔望遇到交点的时候,不论在黄道内还是外,只要进入限界就会发生日食。张宾设立历法时,创立了外限,但应该出现日食却没有出现,仍然不能明确。胄玄认为太阳在黄道上运行,一年一周天;月亮在月道上运行,27天多一周天。月道和黄道交错,每在黄道内运行13天多就出来,又在黄道外运行13天多又进入,终而复始。月亮经过黄道,叫做交。朔望距离交点前后各5度以内,就应该发生日食。如果月亮在内道(黄道以北),那么日食多有应验;如果月亮在外道(黄道以南),即使正好遇上,也无法掩蔽,日食多不应验。于是按照前人的方法,另外设立了定限,根据交点的远近,逐个节气求差,增减食分,这些事都很明确。
〔87〕其超古独异者有七事:其一,古历五星行度,皆守恒率,见伏盈缩,悉无格准。胄玄候之,各得真率,合见之数,与古不同。其差多者,至加减三十许日。即如荧惑,平见在雨水气,即均加二十九日;见在小雪气,则均减二十五日。加减平见,以为定见。诸星各有盈缩之数,皆如此例,但差数不同。特其积候所知,时人不能原其旨。其二,辰星旧率,一终再见,凡诸古历,皆以为然。应见不见,人未能测。胄玄积候,知辰星一终之中,有时一见。及同类感召,相随而出。即如辰星,平晨见在雨水者,应见即不见;若平晨见在启蛰者,去日十八度外,三十六度内。晨有木火土金一星者,亦相随见。其三,古历步术,行有定限,自见已后,依率而推,进退之期,莫知多少。胄玄积候,知五星迟速留退真数,皆与古法不同,多者差八十余日,留回所在,亦差八十余度。即如荧惑,前疾初见在立冬初,则二百五十日行一百七十七度;定见夏至初,则一百七十日行九十二度。追步天验,今古皆密。其四,古历食分,依平即用,推验多少,实数罕符。胄玄积候,知月从木火土金四星行,有向背。月向四星即速,背之则迟。皆十五度外及循本率。遂于交分,限其多少。其五,古历加时,朔望同术。胄玄积候,知日蚀所在,随方改变,傍正高下,每处不同。交有浅深,迟速亦异,约时立差,皆会天象。其六,古历交分即为蚀数,去交十四度者,食一分;去交十三度,食二分;去交十度,食三分;每近一度,食益一分;当交即蚀既。其应多少,自古诸历,未悉其原。胄玄积候,知当交之中,月掩日不能毕尽,故其蚀反少;去交五六时,月在日内,掩日便尽,故其蚀及既。自此以后,更远者,其蚀又少。交之前后,在冬至,皆尔。若近夏至,其率又差。胄玄所立蚀分,最为详密。其七,古历二分,昼夜皆等。胄玄积候,知其有差。春、秋二分,昼多夜漏半刻。皆由日行迟疾盈缩使其然也。凡此,胄玄独得于心,论者服其精密。大业中,卒于官。
张胄玄有七个超越古人、独特奇异的地方:第一,古代历法中五大行星的运行速度都守着固定的规律,但行星出现和隐没的早晚、运行的快慢,都没有一个确切的准则。张胄玄经过长期观测,得到了它们各自真实的运行率,合日出现的数目与古代历法不同。其中差别大的甚至要加减三十来天。就拿火星来说,如果平均在雨水节气出现,就一律加二十九天;如果在小雪节气出现,就一律减二十五天。在平均出现日期的基础上加减,以此得出确定的出现日期。各行星都有运行快慢的数值,都像这样举例,只是差数不同。他长期观测积累的知识,当时的人不能理解其中的道理。第二,水星旧的运行率,在一个会合周期内出现两次,所有古代历法都认为这样。但应该出现时却不出现,人们无法测算。张胄玄长期观测,知道水星在一个周期内有时只出现一次,以及同类星相互感应跟随而出。就像水星,如果平均早晨在雨水节气出现,应该出现但实际不出现;如果平均早晨在惊蛰节气出现,当距离太阳十八度以外三十六度以内时,早晨如果有木星、火星、土星、金星中的一颗星,也会跟随出现。第三,古代历法中推算日月星辰运行的方法,运行有固定的限度,自从出现以后按照一定率来推算,前进或后退的时期不知道是多少。张胄玄长期观测,知道了五大行星快慢、停留、后退的真实数字,都与古法不同,差别大的有八十多天,停留回转的位置也相差八十多度。就拿火星来说,前面快速运行时第一次出现在立冬初的,则二百五十天运行一百七十七度;确定出现在夏至初的,则一百七十天运行九十二度。追踪验证天象,古今都严密。第四,古代历法中日月食的食分,按照平均情况就直接使用,推算检验食分多少,与实际数字很少相符。张胄玄长期观测,知道月亮随着木星、火星、土星、金星四颗星运行时,有向着或背着这些星的方向。月亮向着四星就运行得快,背着就慢,都在十五度以外并遵循本来的率。于是在交点上限定了食分的多少。第五,古代历法中加减时间,朔日和望日用同样的方法。张胄玄长期观测,知道日食发生的位置随着方位而改变,偏正高低每处不同。交点有深浅,快慢也不同,约定时间建立差值,都与天象符合。第六,古代历法中以交点的距离作为食分,距离交点十四度的食一分,距离十三度食二分,距离十度食三分,每靠近一度食分增加一分,当交点时就是日全食。它应该的多少,自古以来各历法都没有弄清楚根源。张胄玄长期观测,知道在交点中间时月亮遮掩太阳不能全部遮住,所以食分反而少;距离交点五六时,月亮在太阳前方,遮掩太阳就能全部遮住,所以达到日全食。从此以后更远的,食分又少。在交点前后,冬至时都是这样;如果靠近夏至,其规律又有差别。张胄玄所设立的食分标准最为详细精密。第七,古代历法中春分和秋分昼夜等长,张胄玄长期观测知道它有误差。春分和秋分,白天比夜晚多半刻漏,这都是由于太阳运行有快慢有盈缩造成的。所有这些,都是张胄玄独自领悟于心的,评论的人佩服他的精密。大业年间,在任上去世。