白話北史 · 張胄玄傳
張胄玄,渤海..人。博學多識,尤其精通術數。冀州刺史趙..舉薦他,隋文帝徵召授予他雲騎尉,輔助太史,參與謀議律令曆法方面的事務。當時學者大多出自他門下,由此太史令劉暉等非常忌恨他。然而劉暉所言大多不應驗,張胄玄推算天文曆法很精微細密。皇帝很驚異,讓楊素和儒生數人,設議六十一個問題,都是過去法令很久不好解決的,命令劉暉和張胄玄等人辯論解析。劉暉閉口一無所答,張胄玄能解決的有五十四個,由此提升為員外散騎侍郎,兼任太史令,賞賜物品千段。劉暉與黨徒八人,都被斥退趕走。改定新曆法,說以前曆法錯一天。內史通事顏鳭楚上奏皇帝說「:漢朝時落下閎修改《顓頊曆》,制定《太初曆》,說『:以後會差一天,八百年後會有聖人改定。』算到今天相距七百一十年。學問家舉其整數,聖人的說法,應該在今天吧。」皇帝很高興,胄玄逐漸被親近重用。
張胄玄制定的曆法,和古代曆法不同的地方有三處:其一,宋人祖沖之在每年結束的最後,使用差分,冬至逐漸變化,不沿原來的軌道,每過四十六年,相差一度。到了梁朝虞廣刂的曆法,不滿意祖沖之的曆法差數太大,就以一百八十六年,冬至改變一度。張胄玄認為這兩個方法,年代相隔很久,追查古書記載,失誤很多。於是折中兩家曆法,做為標準,冬至星宿所在,每年慢慢轉移,八十三年移動一度。那麼上與堯時應和,太陽永對星火;下與漢歷相符,星宿起於牛初。對照前後,都很精當。其二,周代馬顯制定《丙寅元歷》,有陰陽轉變法度,增加減少章分,提前後延盈虧,如此推定日子,由他最早開創。當時的學者,很多不能通曉。張賓沿襲使用,不能考證。張胄玄認為加時於先於後,節氣排列不齊,依據月份的推斷,不合道理。於是根據二十四節氣,排列出月亮圓時和晦時的日期。實在由於太陽運行慢,那麼月亮容易趕上太陽,讓日月相會早加時;太陽運行快,那麼月亮追趕太陽稍慢,讓日月相會晚加時。查檢前代加時的早晚,作為增減的標準。太陽運行,從秋分以後到春分,其態勢快,總計一百八十二天而運行一百八十度;從春分以後到秋分,太陽運行緩慢,總計一百八十二天而運行一百七十六度。每個節氣之下,就是增減的標準。其三,自古以來的各個曆法,初一與十五交逢,不問內外,進入界限便會發生日月蝕。張賓訂立的法則,設有外限。該蝕時不蝕,還未能顯明。張胄玄認為太陽運行黃道,每年要多一全天;月亮運行月道,二十七天要多一全天。月道與黃道交會。每運行黃道內十三天有餘而出來,又運行黃道外十三天有餘而進入,終而復始。月亮經過黃道,叫做交會。初一與十五距交會前後各十五度以下,就應出現日月蝕。如果月亮運行內道,那麼在黃道之北,虧蝕大多應驗。月亮運行外道,那麼在黃道之南,雖然遇到直接交會,沒有什麼遮掩,虧蝕也大多不應驗。於是沿襲前代曆法,另外定立定限,隨著相會的遠近,排列節氣尋求差度,增減日蝕月蝕之分。事情都很明顯。
張胄玄的曆法超出古曆法而又獨具特色的有七個方面:其一,古代曆法五星運行的度數,都恪守永恆的標準,出現藏匿或圓或缺,都沒有標準。張胄玄伺望諸星,得到了真正的標準,合計出現的次數,與古代曆法不同。相差多的,以至於加減三十天左右。比如火星,平常出現在雨水節氣,就都增加二十九天;出現在小雪節氣,就都減少二十五天。加減出現的天數,作為固定出現的天數。各星都有自己圓缺的次數,都如此例,只是差數不同。這僅是他多日伺望所知,當時人都不能推究原旨。其二,辰星的過去標準,是十二年再出現一次,凡是過去的曆法,都認為是這樣。該出現時不出現,人們都不解其因。張胄玄連日伺望,得知辰星十二年之中,有時出現一次。等到受同類星影響時,也會相隨出現。比如辰星,平常早晨出現在雨水節氣的,應該出現時也不出現;如果平常早晨出現在驚蟄節氣的,距太陽十八度外、三十六度內。早晨有木火土金中的一顆星時,也相隨出現。其三,古代曆法觀星術認為,星辰運行有固定的範圍,自從出現以後,便依照標準推算,提前或後延的日期,不知多少。張胄玄多次伺望,得知五星快慢停退的真正數目,都與古代曆法不同。多的相差八十多天,停留徘徊的地方,也差八十多度。比如火星,「頸部」最初出現在立冬初,那麼二百五十天運行一百七十七度;固定出現在夏至初,那麼一百七十天運行九十二度。對照星體運行,今古都很縝密。其四,古代曆法的食分,都依據平常出現的標準而使用,推算數目的多少,與實際數目很少相符。張胄玄連日伺望,得知月亮跟隨木火土金四星運行,有時向相反方向運行。月亮跟隨四星,就快;相反運行,就慢,都在十五度外才遵照原來的標準。於是就在交會時區分,固定其多少。其五,古代曆法的加時,初一與十五同一個方法。張胄玄連日伺望,得知日蝕所在處,隨方位而改變,正側高低,每個地方都不一樣。相交有深有淺,快慢不同,規定時間訂立差別,都符合天象。其六,古代曆法相交之分就是日月虧蝕數,距相交十四度的,虧蝕一分;距相交十三度的,虧蝕二分;距相交十度的,虧蝕三分;每近一度,虧蝕增加一分;相交時就是全蝕。應驗的情況有多少,自古以來的各個曆法,都不知道其原本。張胄玄連日伺望,得知相交之時,月亮不能完全遮掩太陽,所以虧蝕反而少;距相交五六個時辰,月亮在太陽里,完全遮掩太陽。所以虧蝕才全。自這以後,再遠的,虧蝕又少。相交前後,在冬至都是這樣,如果接近夏至,標準又不同。張胄玄訂立的蝕分,最為詳備縝密。其七,古代曆法的二分,晝夜均等。張胄玄連日伺望,得知有所差別。春、秋二分,白天比黑夜多半個漏刻。都是由太陽運行快慢圓缺所導致的。
如此等等,張胄玄獨自心神領會,論者很佩服他推算的精密。大業年間,死於官任上。