曆藏

中國古曆編製器

簡介

使用前請先閱讀已知問題及各部分可靠性驗證。v2.14.240710

  1. 本工具的使用對象是古代天文曆法研究者。對於一般文史研究者,更推薦使用下面的友情鏈接。
  2. 目前的古代朔閏査詢網站都是根據工具書、文獻材料手動調整的參考中研院 兩千年中西曆轉換說明書,廖育棟 本網站的農曆編算。本工具可提供古代實行未實行的 60 餘部曆法的計算,完全遵照各曆算法進行全自動計算,無手動干預。主要有三大功能區:
    1. 朔閏表 每年的積年、冬至大小餘、閏餘;冬至時刻的入轉日、入交泛日、入週天度。各月定朔線性內插、二次三次內插 、平朔,定朔日月所在黃赤宿度,定望,平氣、定氣、定氣太陽所在黃赤宿度。日月食食甚時刻、食分。
    2. 曆書 包含天文曆、具注曆兩部份。
      1. 天文曆:每日夜半日月經緯度及宿度、晷長、日出日入、昏旦中星。
      2. 具注曆:每年「術數年」積年、男女九宮,年干支五行、納音、魁罡之月,23 種歲神,年九宮色。每月月建、月神、吉時、月九宮色。每日干支、儒略日、公曆日期、納音五行、建除、黃道吉日黑道凶日、七星值日、二十八宿二十八禽值日,二十四節氣時刻、七十二候時刻、沒滅日時刻、土王用事時刻、卦用事時刻,人神、日遊神、血支血忌,10 種日神。
    3. 數學工具 包含同餘、招差、天文、時間四個板塊。
      1. 同餘:大衍求一術、解一次同餘式、大衍總數術,擬秦九韶調日法、淸人調日法三種、連分數,最大公因數、章蔀紀元法,古曆入元、秦九韶演紀法,從零開始造唐宋曆。
      2. 方程:隙積術芻童垛、三角垛落一形垛、四角垛方垛,招差術、拉格朗日內插,二分迭代法解高次方程。
      3. 天文:日月中心差,黃赤轉換,會圓術、弧矢割圓術,晷漏,黃赤九道宿鈐,月亮緯度。
      4. 時間:將萬分小數轉換爲辰刻,儒略日、日期轉換,恆星時,公元年、年干支轉換。
  3. 如您發現任何問題,可通過評論框或郵件向我反饋。若您在研究過程中發現程序結果與文獻不符,望不吝提供線索。這個工具是根據研究需要而開發的,如果您有任何功能需求,敬請與我聯繫,我會在力所能及的範圍內儘量實現。
  4. 本工具與以往的朔閏表工具書是相互補充的關係,古人算曆有可能不會完全依照術文,會根據實際情況適當調整,這種情況下計算程序就無能爲力。
  5. 本工具完全開源,如您需要査詢、核査各曆的詳細參數與算法,請前往源碼倉庫。如您不嫌麻煩,可以下載源碼,在本地運行程序。開發者說明及更新日誌見 github 倉庫 readme。隱私聲明 本站使用了 Google Analytics 進行流量分析;評論系統採用 Hyvor Talk;服務器託管在 Netlify 平臺。運算均在本地瀏覽器進行。
  6. 可以參考《律曆初階下》:
    1. 曆法簡史
    2. 天學
    3. 天文計算
    4. 四分系
    5. 日神、時間制度
    6. 數學工具

網站推薦

年表

實行曆法

現代天文學中曆

現代天文學朔閏、交食

博客

殘曆復原

參數

韓詡黃初,他批評乾象減斗分太過回歸年太小,不過實際上韓翊所造皆用法,小益斗下分,所錯無幾。」 我據占經復原黃初

晉武帝泰始十年274劉智 正曆 我據占經、宋志復原。

永和八年352王朔之 通曆宋志「王朔之以其上元歲在甲子,善其術,欲以九萬七千歲之甲子爲開闢之始,何承天云『悼於立意者也。』」但 97000 的積年完全不對,我調整爲 352 - (97000 - 864),九萬七千歲是舉整數而言。後來看到曲安京中國曆法與數學,改爲 352 - 90079 試了下上元甲午歲壬子日,但是前後錯開兩個月,肯定不能用。

姜岌 三紀甲子元。我據晉志下、占經復原。

趙𢾺 玄始 玄始元年 412—北涼亡。我據占經、疇人傳卷六復原。

隋志這段材料很重要,576 年:

訖干敬禮及曆家豫刻日食疎密。六月戊申朔,太陽虧,劉孝孫言食於卯時6—7 點,張孟賔言食於甲時5—6 點,鄭元偉、董峻言食於辰時8—9 點,宋景業言食於巳時10—11 點 。至日食,乃於卯甲之間6 點,其言皆不能中。

這裏用的是 24 小時方位制計時。

宋景業 天保 天保二年 551—亡,月離表據嚴敦傑補北齊書曆志 自然科學史研究1984 年第 3 期 補之。問題是戊申定朔在巽時弱,距巳時0.417-0.45還差了一個多小時。

董峻鄭元偉 甲寅元,據嚴敦傑補北齊書曆志、曲安京曆法頁 106 補之。曲安京說甲寅 沒有日行盈縮,看來我判斷它是北系曆法是正確的。此前用嚴敦傑的上元積年,自己補上了入轉修正,照理說不應該有,後來用曲安京積年,不用補,非常完美。

張孟賔劉孝孫二曆以占經復原,劉孝孫很完整,張孟賔殘缺。張孟賔此前積年不對,我加上了 -0.379 的經朔修正,後來用曲安京積年,就不用補了。曲安京沒有復原近點月,我用「從零開始造唐宋曆」工具復原,算得甲時少彊,完美貼合記載。日躔月離此前以皇極補之,但改用大業躔離纔能與隋志相合。

隋志還說:

張孟賔以六百一十九爲章,四萬八千九百爲紀,九百四十八爲日法,萬千九百四十五爲斗分。元紀共命,法略旨遠。日月五星,並從斗十一起。盈縮轉度,陰陽分至,與漏刻相符,共日影俱合,循轉無窮。上拒春秋,下盡天統,日月虧食及五星所在,以二人新法考之,無有不合。

「從斗十一起」,說明張孟賔沒有歲差。

明克讓 武成元年 559—565。我用占經的梁武大同來補明克讓隋志中「初,西魏入關,尚行李業興正光術 。至武成元年,始詔克讓與麟趾學士庾季才及諸日者定新術,采祖暅舊議,通簡南北之術。自斯已後,頗親其謬。故周齊並時,而曆差一日。」也就是說明克讓綜合南北算法,跟天保差了一天。

大象 大象元年 579—583通占大象曆星經與大象曆配套使用,可能是張賔所作許潔隋唐時期的道教星象研究宗教學研究2009 年第 4 期,第 29 頁 ,也許可以用來復原大象曆。隋書張冑玄傳「周马显造 丙寅元历,有阴阳转法,加减章分,进退蚀余,乃推定日,创开此数。当时术者,多不能晓。张宾因而用之,莫能考正。」 隋書「小周餘、盈縮積,其曆術別推入蔀會,分用陽率 499,陰率 9。每 12 月下各有日月蝕轉分,推步加減之,乃爲定蝕大小餘,而求加時之正。」

高宗顯慶年間656—661印度曆法九執,全文見占經卷一〇四,顧觀光九執曆解 武陵山人遺書中國科學技術典籍通匯天文部分 843 頁

術士曹士蔿 符天 780-820乃民間小曆,以「相減相乘法」代躔離表,日法用萬分,曆元用雨水,以定氣注曆。崇玄本於大衍,而巧算源自符天陳久金符天曆研究祖暅符天經與後來的符天曆毫無關係。

至道上元積年、回歸年、朔望月用曲安京的復原成果,其他參數參照乾元 995 年轉 27.1173 交 7.5243 週 323.2491,用「從零開始造唐宋曆」工具復原。

乾興其他參數參照觀天 1021 年轉 17.1709 交 6.9028 週 319.5299,用「從零開始造唐宋曆」工具復原。

調元新五代志「以宣明之氣朔合崇元之五星,二曆相參,然後符合。」失傳,以我復原的符天代之,參數暫用崇玄,算法用相減相乘法。算法見陳久金 符天曆研究劉義叟見到調元原文,其長曆可信見邱靖嘉遼史曆象志溯源中華文史論叢2012 第 4 期,那麼接下來的工作就是以我復原的核對長曆

遼志下的這段記載比較胡扯:

遼、漢、周、宋,俱行夏時,各自爲曆。國史閏朔,頗有異同。遼初用乙未元曆,本何承天元嘉曆法;後用大明曆,本祖冲之甲子元曆法。承天日食晦朏,一章必七閏;冲之日食必朔,或四年一閏。用乙未曆,漢、周多同;用大明曆,則間與宋異。國史敍事,甲子不殊,閏朔多異,以此故也。耶律儼紀以大明法追正乙未月朔,又與陳大任紀時或牴牾。

遼金的曆法和元嘉祖沖之風馬牛不相及。

疇人傳宋二姚舜輔

有司以觀天推崇寧二年1103十一月朔爲丙子。頒秝之後,始悟其朔當進而失進,遂造占天術 ,改十一月朔爲丁丑,而再頒秝焉。其法上元甲子距崇寧二年癸未,積二千五百五十萬一千七百五十九,日法二萬二千八十。

從這段描述可知,占天應該跟觀天一模一樣。我算出來觀天丙子 7420 不進朔,占天 7461 亦不當進朔。十一月在秋分至春分,進朔標準應該是 7500,這個積年是有問題的。在觀天基礎上將平朔加一刻重新算上元積年。

淳祐會天歲實、上元積年改用曲安京引用的參數。根據寶祐四年會天曆,1256 年年中冬至當爲癸丑 0.25—0.26 之間。歲實、上元積年改用曲安京引用的參數。1250 年開禧 轉 15.5498 交 23.8590,成天轉 15.4620 交 23.7932,範圍兩者之間。

楊級大明用 1180 年重修大明轉 19.0981 交 9.1719。

乙未上元積年、歲差用曲安京復原成果,其餘參數根據重修大明 1180 年轉 19.0981 交 9.1719 算得。

六部太乙曆:秦漢時期的甲寅太乙,南北朝的宋琨太乙,唐代王希明的開元太乙,宋代的景祐太乙,金張行簡的太乙,元曉山老人的太乙統宗寶鑑曆 。根據曲安京 曆法第七章補。

天文計算

很多曆法的天文計算闕如,我用相鄰曆法來補:

月離
躔離
夜漏、晷長、日緯
夜漏
晷長
日緯
月緯

Todo list

Known Issues

朔閏表說明

  1. 可多選曆法;1 爲公元 1 年,0 爲公元前 1 年,-1 爲公元前 2 年;若僅需計算一年,在任意一框輸入年份卽可。一曆一年爲 1 單位,最多可展示 400 單位的朔閏表,若超過 400 會自動下載到本地。
  2. 本工具的另一個獨家技術是「算三年以求一年」:秦漢以後置閏採用無中氣置閏法,如果閏月在十二或一月,在特殊情況下閏年會推後或提前一年,因此欲求一年,需同時算前後一年,以應對特殊情況。這也就意味著,如果想算 10 年的朔閏,需要算 30 年。鑒於此,我們採用滾動數組,將之前的運算結果存儲下來,算 10 年朔閏只需要算 12 年,經測試,這能減少近一半的計算時間。
  3. 判斷大小月的方法:看天干是否相同。如一、二、三月的朔分別是辛亥、辛巳、庚戌,辛亥、辛巳天干一樣,說明一月有 30 日,爲大月;辛巳、庚戌天干不同,說明二月有 29 日,爲小月。
  4. 「平朔」卽未考慮日月速度變化而得出的朔日,「平氣」卽未考慮日速度變化而得出的中氣日,「定朔」卽加上日月速度改正而得出的朔日,「定氣」卽加上日速度改正而得出的中氣日。干支下的數字爲小分,均爲十進制小數,如「8184」卽 0.8184,換算成 24 小時制爲:0.8184 × 24 = 19.6416,0.6416 × 60 = 38.496,0.496 × 60 ≈ 30,卽 19 點 38 分 30 秒。小分到取小數點後四位,卽精度爲 8.64 s。各曆均有不同的辰法,需要您手動進行轉換。
  5. 「二次」表示用二次差內插法計算出的小分,「一次」表示用線性內插法計算出的小分,「三次」表示用三次差公式計算出的小分,西曆「諸曆」爲今日次日日月位置的線性內插,「交食」爲迭代法。若某曆有二次差定朔計算,則望干支及小餘爲二次差定望。
  6. 雖然漢末乾象曆便出現了定朔推步,但直到唐初麟德曆纔正式開始用定朔編排曆書,此前都是平朔注曆,定朔僅用於交食推步。雖然隋劉焯皇極曆 便發明了二次差計算定朔,但編排曆書時僅採用簡單的線性內插進行計算,二次差僅用於交食推步。爲了方便,本表進朔標準是高次內插所得小分。雖然皇極曆開始便可以計算定氣,但直到淸時憲曆 纔開始用定氣編排曆書,之前都是平氣注曆。本程序在平朔注曆時代用平朔編排閏月;在定朔推曆時代用二次差編排閏月、進朔,若遇一次差與二次差存在臨界差異,用戶大可進行手動調整666 年二月麟德就出現了線性、二次改正分屬兩天的極端情況
  7. 元嘉規定若月食發生在黎明之前,則屬上日,我把此規定用於所有的魏晉系曆法。干支減去 1 的,在定朔干支一格加上 -,小分不變。麟德授時 之前行進朔法,我目前暫時簡單將 0.75 作爲進朔標準,進朔的月在干支後加上 + 來表示,僅將干支加 1,小分不變。如「乙丑+」表示原本的干支是甲子,進朔爲乙丑,而小分與進朔前一致。如果遇到與文獻不一致的情況,用戶可根據小分自行調整進朔與置閏。
  8. 日食在朔,月食在望。● ◐ ◔ 分別表示全食、偏食、光影相接虧蝕微少。隋代以前的交食計算非常原始,僅能根據交食週期判斷是否可能發生日月食。 乾象 僅能計算月食所在月,景初能根據去交度分判斷虧蝕程度,正光提出食分計算方法,大明沒有虧食的計算,大業 以前的魏晉南北曆法均無全食限,均無法計算日食,僅能判斷是否交會。整齊起見,我將食分、虧蝕程度一槪補全。大業戊寅沒有計算日食持續時間的方法,我姑且用月食來補。
  9. 清代西曆均用黃道度及 360 度制。爲了保持統一,我將西曆的入宿度統一從 360 度制歸算成古度,使用時請注意區分。西曆黃道歸算到古曆黃道的問題:1、斗分位置,我採取的是平攤到每宿,不用斗分;2、西曆用黃經,古曆用極黃經(黃道截赤經度)。古曆入宿度都用當時的測量值,西曆是單獨的體系。

備忘

宋律曆十四疇人傳 陳得一的一段內容可以作爲兩宋之際曆法復原的參考:1193 年 12 月紹興

南渡以後,星翁離散,紀元術亡。紹興二年,高宗重購得之。六月甲午,語輔臣曰:『術官推步不精,今術差一日,近得紀元術 ,自明年當改正。協時月正日,蓋非細事。』五年,日官言:『正月朔旦日食九分半,虧在辰正。』得一言:『當食八分半,虧在巳初。』其言卒驗。侍御史張致遠言:『今歲正月朔日食,太史所定不驗,得一嘗爲臣言,皆有依據。蓋患算造者不能通消息盈虛之奧、進退遲疾之分,致立朔有訛。凡定朔小餘七千五百以上者,進一日。紹興四年十二月小餘七千六百八十,太史不進,故十一月小盡;今年五月小餘七千一百八十,少三百二十,乃爲進朔,四月大盡。建炎三年定十一月三十日甲戌爲臘。 陰陽書 曰:「臘者,接也。」以故接新,在十二月近大寒前後戌日定之,若近大寒戌日在正月十一日,若卽用遠大寒戌日定之,庶不出十二月。如宣和五年十一月二十七日丙午大寒,後四日庚戌,雖近,緣在六年正月一日,此時以十九日戊戌爲臘。得一於歲旦日食,嘗預言之,不差釐刻。願詔得一改造新秝,委官專重其事,仍盡取其書,參校太史有無,以補遺闕。擇秝算子弟粗通了者,授演撰之要,庶幾日官無曠,秝法不絕。』二月丙子,詔祕書少監朱震卽祕書省監視得一改造新秝。八月秝成,震請賜名 統元,從之。

朔閏表可靠性驗證

一、程序

目前完全可靠的是古四分曆,可完全替代朱桂昌顓頊日曆表太初日曆表後漢四分日曆表三部大轉頭。

與藤豔輝宋代朔閏頁 185 比較。+ 表示進朔

序號 日期 曆法 宋史 程序
1 1134 十二月 紀元 小餘七千六百八十,太史不進,故十一月小盡 7495 7499
崇天 7523 7660+
2 1135 五月 紀元 小餘七千一百八十,少三百二十,乃爲進朔,四月大盡 7362 7348
崇天 7287 7293
3 1167 十一月 紀元 十一月甲子朔 7506+
統元 當進作乙丑朔 5218/6930=7530 7544+
4 1174 十二月 117501 崇天 甲申朔 7450+
統元 甲申朔 7384
紀元 癸未朔 7410
乾道 癸未朔。約得不及進限四十二分 22371/30000=7457 7458

按照這些敘述,似乎宋代進朔直接以 7500 爲標準。很奇怪。

二、敦煌具注曆日

與鄧文寬敦煌天文曆法文獻輯校核對,結果如下版本 0.991.3

太平真君十一、十二年450—451景初曆

451 大將軍在卯,程序在子。451 年 的建除程序都錯開一日。朔閏、節氣都沒問題。,451 年二、八月紀錄了月食,沒問題。

元和三年808具注曆

只有五月到六月的完整信息,與正元對照,建除相合,那麼年份應該沒錯。正元四月壬子平朔 5479,定朔 9278,五月平朔壬午 0785,定朔 4975,六月平朔辛亥 6091,定朔 9678;該曆六月辛亥朔,五月辛巳朔,倒推四月壬子朔。可能該曆是平朔注曆,比正元提前了 8 刻以上。

元和四年具注曆

存四月戊申朔,閏四月丁丑朔,五月丙午朔,六月丙子朔,七月乙巳朔。正元閏三月丁未朔 9599,四月丙子朔 6279,五月丙午朔 2284,六月乙亥朔 7683。如果用進朔,則四月戊申比正元推遲 75 刻以上,五月丙午比正元推遲 55 刻以下,衝突了。

月神、吉時、建除、甲子納音相合。五月十六日辛酉血忌,程序沒有。

元和十四年819具注曆

五月丁丑朔,六月丁未朔,七月丙子朔。正元五月戊寅 1198,六月丁未 7264,七月丁丑 3589。若用進朔,該曆比正元提前 60 刻以上,若不用,提前 36 刻以上。

建除相合。

長慶元年821具注曆

二月戊辰,三月丁酉,四月丁卯,五月丙申,與朔閏表合。正元基本上沒問題,四月丙寅 7805,不進朔。

建除程序提前了一日

大和三年829具注曆

十一月丁丑,十二月丙午,正月丙子。宣明829 十一月丁丑 5228,十二月丁未 1522,830 正月丙子 6939。若進朔,則該曆比宣明提前 40 刻以上,若不進朔,提前 16 刻以上。

大和八年834具注曆

頁 141。有比較全面的宜忌指南。正月壬子,二月壬午,三月壬子,四月辛巳,五月辛亥,六月庚辰,七月庚戌,八月己卯,九月己酉,十月戊寅,十一月戊申,十二月丁丑。宣明正月壬子進朔癸丑 8330,四月辛巳進朔壬午 8383,十一月丁未 7204 不進朔。若按正、四月,該曆比宣明提前 10 刻以上,若按十一月,比宣明推遲 3 刻以上,互相衝突。氣、候與宣明相合。

歲神相合。建除程序錯開一日。

值得注意的是,該曆三月廿九庚辰是沒日,宣明沒在二月五日丙戌、四月十五日丙申。庚辰距冬至 145.04—146.04 日之間,那麼冬至後第一個沒日在 5.85—6.85 日⋯⋯以後可以復原一下。

乾符四年877具注曆

一般認爲該曆以宣明爲基礎,我算得該曆朔閏與宣明全合,其中六月庚午 7468 進朔庚午,十二月丁卯 7358 不進朔,均相合。建除、九宮、氣、候均相合。

⋯⋯

其他的以後再核對,太多了。

三、《金石與唐代曆日》

@ 方中,2021-05-19:应与《唐代的历》配合使用,后者作者虽然也搜集了大量资料,但只提供了历表。本书则列出了搜集的各种历日材料,金石资料丰富,但传世文献只利用了两唐书、《资治通鉴》和《唐会要》。另外作者有对材料与历表不合的地方作出论述,但有些判断是错误的。如开明元年(唐武德二年)五月,有两条材料是己巳朔,而历表是戊辰朔,作者虽然也指出材料用的是大郑年号,却就此判断历表算错,而不考虑使用历法不同。此时唐历首用定朔,与以前的平朔历法大不相同。而郑四月才立,并由隋禅位而得,宜考虑未暇创制新历,沿用隋正朔。依隋大业历算得五月己巳朔,与材料合。同理开明二年九月辛酉朔不合唐历,但合大业历。

618 用大業平朔

619 武德二年開始用戊寅定朔

623 三月丁丑,沒有石刻資料,是朔閏表的。程序:平朔丁丑 0405,定朔丙子 9671。

625 五月甲午,沒有石刻資料。程序:平朔甲午 3668,定朔癸巳 9716

636 七月己丑,有墓誌。程序:平朔己丑 5897,定朔戊子 9961。如果不改,就是三連小

637 八月癸丑,是新疆墓誌,有可能和中原不一樣。程序:平朔癸丑 4875,定朔壬子 9284

640 十一月甲子,材料很多,都是甲子。平朔甲子 2422,定朔癸亥 9667

643 十二月丁未,墓誌丙午。程序:平朔丙午 4050,定朔丙午 8210

645 開始用戊寅平朔。

665 麟德二年依然是戊寅平朔

666 開始用麟德

669 七月丁丑,沒有資料。程序:平朔戊寅 0597,定朔戊寅 0291

682 九月庚寅,有墓誌。程序:定朔辛卯 0062。

十二月己未,幾個墓誌都是庚申朔。程序:定朔庚申 0064

683 十月甲寅,沒有資料。程序:定朔乙卯 0043

684 正月甲申,兩方墓誌、舊唐甲申,新唐癸未。程序:定朔癸未 8136

690 改建正

693 十二月丙辰,沒有資料。程序:定朔乙卯 9776

697 閏十月甲午。程序:十一月癸巳,閏十二月。

十一月甲子。程序:癸亥 6746。問題很多。

698 十月丁亥,墓誌戊子。程序:戊子 0093

703 十二月戊午,墓誌丁巳。程序:丁巳 9597

四、朔閏表工具書

此前已經核對過四分曆法,應該完全可靠。從乾象開始,與中國史曆日和中西曆日對照表 方詩銘、方小芬編著,上海人民出版社 2007。下簡稱方表 。@澤哥相核對,紀錄如下已下是版本 0.991 的情況,用二次內插定朔、二次內插計算日出分

魏晉南北

戊寅以前平朔注曆。乾象景初玄始正光天和大象開皇大業全合。

戊寅

645 以前用戊寅定朔,之後用戊寅平朔。

麟德

麟德開始用定朔注曆,用進朔法,但觀方表麟德大衍都只是偶爾進朔,可能一年有一次,找不到什麼規律,五紀 開始纔形成了比較規則的進朔規則。因此我以不進朔的麟德與方表 相參照。

665 年到底用戊寅還是麟德?該年麟德定朔閏三月,戊寅平朔閏四月,李善蘭說當年用的麟德,為了避免四月日食而改成閏三月,汪曰楨說當年仍用戊寅。(黃一農《中國史曆表朔閏訂正舉隅》)程序算得麟德四月日食分 1.35。

大衍
五紀
正元
觀象正元代
宣明
崇玄

方表來看,937 開始就不是崇玄了。937 以後暫且不管

五代宋
欽天
應天
乾元
儀天
崇天
明天

這三年暫時不管

奉元
觀天
占天
紀元
統元

也太絕了,我算出來紀元 1167 年十一月甲子平朔 6154,線性定朔 7506,秋分到春分是 0.75 進朔,差了 0.0007,什麼毛病⋯⋯該日入轉 15.2674,距第二年冬至 2.1114。線性改正,月:867 + 0.2674 (1510 - 867) = 1038.9382,日 385 * 2.1114 / 15.2185 = 53.4145日月改正 = (-53.4145 + 1038.9382) / 7290 = 0.1352,則 線性定朔 = 0.6154 + 0.1352 = 0.7506。呃⋯⋯和手算結果一樣,服了。有可能是 0.7506 四捨五入就是 0.75,於是不進朔了?

乾道
淳熙
統天
開禧
淳祐
會天
成天
賈俊大明995—1136

根據方表的閏月,以宣明爲參考,999 年賈俊大明氣要比宣明少 0.2478 以上,996 年 0.2621 以下,1015 年要在 0.4732 以上。好吧,結論就是這些朔閏表都是胡亂排的。

楊級大明1137—1181
重修大明1181—1280

授時大統

一般認爲,大統全襲授時,只是取消歲實消長;用 / (月實行-日平行) 取代 / 月實行。但是據大統曆書,依然用的是授時的 / 月實行。跟大統曆書核對,我的計算分毫不差。見 廖育棟 明朝大統曆的定朔計算及曆表朔日訂正

「六年六月癸亥朔日食(1302年6月26日)时在戌。依历,日食五十七秒,众以涉交既浅,且复近浊,欲匿不报。独齐履谦以状闻。及其时,果食。」《元史·传五十九》。我用授時通軌算,分0.57虧78.86甚80.61復82.36。

五、時憲曆

時憲曆注曆所用朔望節氣是本日次日夜半日月位置線性內插而得,交食所用朔望,癸卯元曆是在注曆朔望(實朔泛時)的基礎上迭代一次(實時),之前的曆法則是重算實引。癸卯元求泛時是只固定用平朔望今明兩天,而甲子元則是選用定朔望今明兩天,此處我統一用甲子元的辦法。注曆所用時刻皆為視時。

注曆定朔誤差:西洋新法、永年表大部分0–2分鐘,少量3–5,另有一些異常值;甲子元曆大部分0–1,少量2;癸卯元曆0–1。

節氣誤差:甲子、癸卯基本上一分不差,新法、永年相差0–2。新法多出來的誤差是由於公式與日躔表不能完全相合。

新法曆書、康熙永年表

新法曆書和永年表的合朔時刻實在很奇怪,看了好幾個年份,都是一至四月密合,五至七月誤差增大至一刻鐘,八至十二月下降至九分鐘左右。猜想是時差的問題,於是刪掉時差,發現誤差曲線類似一個sin函數,推測可能合朔的時差只考慮了升度差,未考慮均數差。現將僅考慮了升度差之後的誤差合排如下(單位分鐘。「?」表示看不清或缺頁,「*」表示異常值):

十一 十二
1646 -1 -2 -2 +1 +4 +3 -22* -3 -1 2h* 1h* +13*
1658 -1 -1 +4? +2 +1 -1 ? 0 0 +5? +1 +1
1676 ? -1 +1 +1 0 -1 0 ? +3 +2 -1 +1
1679 -1 +1 0 -3 -2 0 +1 +1 0 -3 -2 +1
1714 -1 +2 +2 +2 0 +2 +1 +1 +1 +2 -1 0
1722 -2 -2 0 +1 0 -1 -1 0 +1 +16* 0 -1

但節氣時刻則用了完整的日差表。為何節氣和合朔要用不同的時差呢?

曆象考成

1733年:

十一 十二
曆書 亥初三刻三分 辰正一刻三分 酉初初刻十二分 丑初初刻八分 辰正三刻四分 酉初初刻八分 丑正三刻十四分 申初一刻八分 卯正二刻十二分 子正二刻十二分 戌正初刻一分 未正二刻七分
本站 -1 -1 0 -1 +1 -1 -1 -1 0 0 -2 -1

曆象考成後編

《後編》有1730年六月日食算例,初虧時間是0.4626,我算出來0.4623,只相差半分鐘。

以1762年爲例:

曆書 廖育棟節氣和月相時刻 廖育棟日月位置 本站
四月甲子4-24 13:22 未初一刻七分 13:23 未初一刻八分 13:26:55 日月33°58'06" 未初一刻七分五十四秒
五月甲午5-24 00:29 子正一刻十四分 00:30 子正二刻 00:30:01 日月62°24'13" 子正一刻十四分四十四秒
閏五月癸亥6-22 09:01 巳初初刻一分 09:01 巳初初刻一分 09:04:35 日月90°27'59" 巳初初刻一分二十八秒

總結

對於一般文史研究者,在我研究出什麼之前,正常情況下直接看工具書好了,不要用我這個。在紀元以前,程序算出來的跟工具書上的差異太大了,這些差異基本上都是進朔引起的,授時 取消進朔,便與實行曆書分毫不差。不知道工具書是怎麼算的,不知道工具書跟當時的實行曆書有多大差異,以後都要慢慢研究。

進朔差異原因分析:

  1. 確定的是,出現四連大就會手動調整,程序沒法調。但好像不太顧忌三連小。
  2. 大衍故意把日食放在晦二,宋曆很多有日食則不進朔,我暫時沒考慮日食。
  3. 上面備忘那段材料:「今年五月小餘七千一百八十,少三百二十,乃爲進朔」,說明編曆人員的疏忽也是很有可能的事。
  4. 天知道。

中國古代曆法頁 570 將根據術文計算的宣明曆譜與工具書進行比較,結果是:

歷代長術輯要比較,878 個月朔中有 11 個不同,都發生在進朔的邊緣狀態。11 個中有 7 個我們的計算結果與資治通鑑所收劉義叟的長曆 簡稱目錄 相同,4 個不同。⋯⋯三家曆譜有一定差異⋯⋯有待進一步考察。

具注曆說明

備忘

可靠性驗證

授時曆

與《授時曆故》1599年算例(《黃宗羲全集》18冊,2012,p304)相較,「推四正夜半黃道宿次」,春分密合,其餘幾個區別都很小。

現代曆表說明

朔閏表

步驟

  1. 使用各種曆表算出某天體相對於目標天體的ICRS(國際天球參考係)座標 $I_{ICRS}=[x, y, z]$,單位爲 km。
  2. 使用frame bias matrix(參考架偏差矩陣)將ICRS座標係轉換爲赤道座標係 $I_{2000}=BI_{ICRS}$
  3. 計算歲差矩陣 $P$
  4. 計算章動矩陣 $N$
  5. 赤道座標爲 $I_{eq}=NPI_{2000}$
  6. 使用旋轉矩陣轉換爲黃道座標 $I_{ec}=R_1(ε)I_{eq}$
  7. 迭代計算合朔、節氣時刻的 TDB
  8. 計算 $ΔT$,得出 $UT1=TT-ΔT≈TDB-ΔT$

需要注意,ELP2000、VSOP87 的座標是黃道,而非 DE 曆表的赤道。所以第 5 步變成了:

  1. 赤道座標爲 $I_{eq}=NPR_1(-ε)I_{2000}$

不能這樣:

  1. 黃道座標爲 $I_{ec}=NPI_{2000}$
  2. 赤道座標爲 $I_{eq}=R_1(-ε)I_{ec}$

一些備忘

農曆編排

GB/T 33661-2017《农历的编算和颁行》第四節《農曆的編排規則》有五條:

  1. 以北京时间为标准时间。
  2. 朔日为农历月的第一个农历日。
  3. 包含节气冬至在内的农历月为农历十一月。
  4. 若从某个农历十一月开始到下一个农历十一月(不含)之间有13 个农历月,则需要置闰。置闰规则为:取其中最先出现的一个不包含中气的农历月为农历闰月。
  5. 农历十一月之后第2个(不计闰月)农历月为农历年的起始月。

年曆

由完整的VSOP87、ELP2000曆表算出。提供的是視位置。

Acknowledgement

模型 代碼來源
總體方法 廖育棟 月相和二十四節氣的計算》、Calculations in Star Charts
行星曆表 VSOP87A orbit.js
月球曆表 ELP2000 orbit.js
數值曆表 DE441/0 jplephem
歲差 Vondrak 等(2011) Vondrak,由 GPT 轉換爲 JS。代碼中保留了我自己寫的 IAU2006
章動 IAU2000A python-novas/Cdist/nutation.c,由 GPT 轉換爲 JS。代碼中保留了我自己寫的 IAU2000
TT轉UT1 Stephenson等人(2016)及Morrison等人(2021)的擬合公式 廖育棟 DeltaT,由 GPT 轉換爲 JS。代碼中保留了 Morrison、Stephenson(2004)的公式

另外可參考的庫:

同餘模塊說明

上元積年算法

古曆入元和唐宋演紀是秦九韶數書九章的兩個命題。秦九韶也試圖通過大衍總數術算上元積年,但並不如意,因爲總數術缺乏對餘數的調整選擇功能。曲安京曆法頁 29

古曆入元

依次輸入年月參數、冬至大小餘、天正經朔大小餘,大餘卽干支序數,無須 - 1。

宋以前皆有上元積年,雖有戊寅統天的短暫停用,但直到授時 纔徹底廢除。根據我粗畧的觀察,漢代的上元積年是回歸年、朔望月、交食週期、五星週期的同餘數,魏晉系、北系是回歸年、朔望月的同餘數,南系是回歸年、朔望月、交食週期、近點月。

後漢四分的上元積年是 270 多萬年,古六曆也是差不多是這樣,所以可以判定古六曆的上元積年一定是漢代的,戰國時期的古六曆應該沒有考慮五星週期,也沒有考慮年干支,直以 1520 年爲一週期。這只是我的猜測。

唐宋演紀

依次輸入斗分、日法、冬至大小餘、天正經朔大小餘,大餘卽干支序數,無須 - 1。這是秦九韶紀錄的開禧曆演紀方法,但其他宋曆似乎並不是這樣用求一術算的,對其他曆法並不好用。

從零開始造唐宋曆

第一步。暴力窮舉所有符合條件的日法。

第二步。暴力窮舉所有符合條件的上元積年,從 100 萬年窮舉到 1 億年。選取一部已知曆法作爲參照,「年」輸入參照曆法化爲小數後的歲實;「月」輸入上一步生成的日法、朔餘 選擇最接近的一箇卽可 ;「冬至」輸入參照曆法年前冬至的日分 如乙丑日 0.2518 分,則是 1.2518 ;「天正朔」輸入參照曆法年前天正經朔的日分。按照經驗,範圍在 0.02 之內。如計算出多個上元,則縮小範圍繼續計算。如選擇了 1256 年作爲參照,計算出 73147137,則上元爲公元 1256-73147137 年。

第三步、窮舉參數。計算恆星年、近點月、交點月等參數。以比例關係求得分子整數部分,以 0.0001 遞增,窮舉得到。「參數積日」輸入參照曆法的朔閏表該年表頭相應信息。

備忘

「聖宗統和十二年,可汗州刺史賈俊進新曆,則大明曆是也。」遼大明曆術,遼史 時史官已不得見,因此曆象志全錄同名的南朝祖沖之大明曆 術,以充篇幅,而兩者實不相干,爲後世史家所非議[1]。但是由歷史文獻氣朔記錄推察,學者認爲遼大明曆很有可能本於唐宣明曆

嚴敦傑「遼曆志疑」指出:一、遼史曆象志朔考謂「遼己未歲1079氣朔與宣明曆合。」,又云日本承曆二年戊午歲1078 與遼曆相近,而當時日本所行用就是宣明曆。二、宣明曆曾長期流行於渤海國女真等北方民族,渤海國爲契丹所滅,因此宣明曆可能由此傳入契丹。三、嚴氏以汪曰楨 歷代長術輯要 所推氣朔與遼曆不合者 12 例,改用宣明曆驗算,結果有 11 例與遼曆相符[2]。邱靖嘉更進一步補充,宋江休復 江幾鄰雜志云:「己亥曆日十一月大盡,契丹曆此月小,十二月十四日夜纔昏月蝕,戎使言:『竊謂爲己望』。時修唐書,問羲叟,云:『見用楚衍曆,差一日,宣明曆十一月當小盡。』」陳漢章考證己亥爲宋仁宗嘉祐四年1059 ,是年十一月宋曆爲大月,遼曆爲小月,而宣明曆與遼曆同,足見遼大明曆與唐宣明曆比較接近,兩者可能存在淵源關係[3]

內插模塊說明

晷長 ⇒ 冬夏至時刻

授時曆議最開始就是測影求冬至時刻,根據冬至前後數日正午的三個點,用多組測量結果平均,得到冬至時刻。祖沖之、郭守敬採用線性插值左圖,用如下算式求得冬至時刻:

const Dif1 = l1 - l3const Dif2 = l2 - l3const result = (d3 - d1 - Dif1 / Dif2) / 2 + 0.5

具體推導過程見 @三种不同的红色

但實際上晷長變化是一個近似二次函數右圖,於是我們用拉格朗日內插求極大值的方法二分法 來求冬至時刻。祖沖之-郭守敬算法會產生兩個誤差,一個是線性插值帶來的算法誤差,另一個是測量誤差,我們的方法可以消除算法誤差,可實際上沒什麼必要,實際使用中只精確到刻,卽小數點後 2 位,算法誤差不會帶來什麼影響。況且,他們選取的點都是以二至對稱的,所以誤差其實很小。

例如,祖沖之宋書曆志下

據大明五年461 年 十月十日,影一丈七寸七分半,十一月二十五日,一丈八寸一分太,二十六日,一丈七寸五分強,折取其中,則中天冬至,應在十一月三日。求其蚤晚,令後二日影相減,則一日差率也。倍之爲法,前二日減,以百刻乘之爲實,以法除實,得冬至加時在夜半後三十一刻,在元嘉歴後一日,天數之正也。

線性插值算得 (10.8175-10.775)/(10.8175-10.7508333) * 0.5 = 0.31874984。輸入 0.5,10.775,45.5,10.8175,46.5,10.7508333 ,算得二次內插極值 f (23.321281682195) = 11.540491757111,線性插值誤差爲 0.00253184 = 0.253 刻,完全可以接受。該年大明 冬至乙酉 3160。

以下是授時曆議所有數據,日期用儒略日最後四位,卽減去 2180000,便於計算:

// 至元十四年1277冬至7826.5,7.94855,7833.5,7.9541,7834.5,7.9455 // f (7830.337642585551) = 7.96584166366787821.5,7.86355,7838.5,7.87935,7839.5,7.855 // f (7830.330890052356) = 7.97307251655377821.5,7.86355,7838.5,7.87935,7840.5,7.83045 // f (7830.347896627651) = 7.96812022224097813.5,7.59865,7814.5,7.6377,7847.5,7.5851 // f (7830.333308480895) = 7.9373817005857803.5,7.0971,7857.5,7.076,7858.5,7.01565 // f (7830.320788807215) = 7.88131773982987670.5,1.308,7990.5,1.30385,7991.5,1.29205 // f (7830.323408937259) = 2.2459510672011// 至元十五年 1278 夏至8008.5,1.17775,8017.5,1.178,8018.5,1.18055 // f (8012.9449339207) = 1.17276673519337856.5,7.1343,8168.5,7.07595,8169.5,7.1406 // f (8012.9514166438) = 2.06395275625447853.5,7.29725,7854.5,7.24545,7855.5,7.1909。8170.5,7.19575,8171.5,7.2505,8172.5,7.303357848.5,7.5417,7849.5,7.49595,7850.5,7.4486;8175.5,7.45205,8176.5,7.50035,8177.5,7.54495// 十五年冬至8185.5,7.83185;8205.5,7.83635,8206.5,7.80825 // f (8195.5834068844) = 7.96899033565548178.5,7.58815,8179.5,7.63015;8211.5,7.63665,8212.5,7.5953,8213.5,7.55045// 拆:8178.5,7.58815,8179.5,7.63015;8211.5,7.636658178.5,7.58815,8179.5,7.63015;8212.5,7.59538178.5,7.58815,8179.5,7.63015;8213.5,7.55045 // f (8195.5749154341) = 7.9575399678137//8174.5,7.40375;8216.5,7.412,8217.5,7.36145 // f (8195.5832219016) = 7.92832910381228045.5,1.44525,8046.5,1.4638;8345.5,1.44818017.5,1.178,8372.5,1.1863,8373.5,1.1783// 十六年1279 夏至8362.5,1.23695,8363.5,1.22935;8392.5,1.22648335.5,1.63905;8419.5,1.60995,8420.5,1.63118316.5,2.1305;8439.5,2.11955,8440.5,2.14865 // f (8378.1890954669) = 1.23469249020378315.5,2.1611;8440.5,2.14865,8441.5,2.19155 // f (8378.1459269389) = 0.821794816171788302.5,2.60345;8453.5,2.5899,8454.5,2.6259 // f (8378.1889697314) = 1.24324209704918287.5,3.21955;8467.5,3.15965,8468.5,3.202658274.5,3.85015;8480.5,3.7823,8481.5,3.83105// 十六年冬至8545.5,7.674;8576.5,7.658,8577.5,7.61425 // f (8560.8089908599) = 7.9906410895563>8539.5,7.45025;8540.5,7.4545;8541.5,7.5025。8579.5,7.532;8580.5,7.48525;8581.5,7.4365;8582.5,7.38715// 拆8539.5,7.45025;8540.5,7.4545。8579.5,7.5328539.5,7.45025;8540.5,7.4545。8580.5,7.485258539.5,7.45025;8540.5,7.4545。8581.5,7.4365 // f (8559.033810143) = 7.49284975741348539.5,7.45025;8540.5,7.4545。8582.5,7.38715 // f (8555.6101281269) = 7.4855805546617//8537.5,7.3015。8583.5,7.332;8584.5,7.28425 // f (8560.8218455321) = 7.86176095410978535.5,7.19225;8536.5,7.2469。8585.5,7.227258528.5,6.7745;8529.5,6.83725;8530.5,6.89775。8592.5,6.81458522.5,6.387。8598.5,6.42975;8599.5,6.3625 // f (8560.8193548387) = 7.68016936400298513.5,5.7825。8608.5,5.758;8609.5,5.6915 // f (8560.8131256952) = 7.32713607611658511.5,5.64925。8609.5,5.6915;8610.5,5.625 // f (8560.8188436178) = 7.2936924676944

用 6—9 組數據測定某至,用 5 個至算得回歸年長度。

上面數據錄了兩個小時,還有錯,不想再看了,以後再說。用 1277、1279 年冬至,算得 365.242055。當年理論值 365.242234。1277 年冬至時刻是 0.332323 = 7:58:32,實際値 8:40。

天文

歲差可靠性驗證

頁 188:虞𠠎大同公元前 2300 堯時四正昬中:冬至奎 10,春分井 31,夏至房 1,秋分女 2。頁 190:大衍明天以前都是公元前 2300 冬至日赤在虛 1,經檢驗,我的赤度昬中算對了。

明志一:

堯時冬至日躔宿次,何承天推在須女十度左右,一行推在女虛間,元人曆議亦云在女虛之交。而授時曆考之,乃在牛宿二度,大統曆考之,乃在危宿一度,相差二十六度,皆不與堯合。

大統在前 2421 年冬至赤道在危 1.092,而授時在牛 3.974,似乎差了將近兩度。

以大統、授時二曆相較,考古則氣差三日,推今則時差九刻。

今丙申年1596 年日至,臣測得乙未日未正一刻,而大統推在申正二刻,相差九刻

程序大統 1596 年中冬至在乙未 6900=申正二刻,授時在 5952=未正一刻,相差九刻。

皇極日所在宿度直接是黃道度。「劉焯歷仁壽四年605冬至,日在黃道斗十度,於赤道斗十一度也。」我算出來是斗 13,奇怪。

授時曆議:

以金趙知微所修大明曆法推之,冬至猶躔斗初度三十六分六十四秒

程序算得重修大明 1281 年前冬至己未在斗 0.366小數點後取三位,分毫不差。

但是,

復以堯典中星考之,其時冬至日在女、虛之交。及考之前史,漢元和二年85 年,冬至日在斗二十一度;晉太元九年384,退在斗十七度;宋元嘉十年433,在斗十四度末;梁大同十年 544 ,在斗十二度;隋開皇十八年598,猶在斗十二度;唐開元十二年724,在斗九度半;今退在箕十度。

原文 大衍 宣明 紀元 統天 重修大明 授時 授時無消長
85 斗 21 斗 18.197 斗 18.319 斗 19.087 斗 19.294 斗 18.644 斗 17.147 斗 19.775
384 斗 17 斗 14.583 斗 14.795 斗 15.018 斗 15.416 斗 14.697 斗 13.857 斗 15.290
433 斗 14 末 斗 13.990 斗 14.218 斗 14.351 斗 14.763 斗 14.050 斗 13.201 斗 14.555
544 斗 12 斗 12.648 斗 12.909 斗 12.841 斗 13.264 斗 12.584 斗 11.860 斗 12.890
598 斗 12 斗 11.996 斗 12.273 斗 12.106 斗 12.525 斗 11.871 斗 11.262 斗 12.080
724 斗 9 半 斗 10.472 斗 10.788 斗 10.391 斗 10.777 斗 10.208 斗 9.635 斗 10.190
1280 箕十 斗 1.251 斗 1.735 斗 0.324 斗 0.179 斗 0.366 箕 9.850 箕 9.850

基本上對不上,奇怪。

歲實消長可靠性驗證

元史:統天「紹熙二年1191辛亥十一月壬申四十七刻」,藤算得 5668.8857 日分 = 0.4724,程序算得壬申 4724,相合。天正定朔藤算得 0157,程序算得 0158,相合。

藤豔輝宋代朔閏頁 189 有各年紀元統天冬至時刻,算得與藤完全相同。

據刘娅娅朱载堉对授时历岁余计算的检验与修正:朱載堉算得隱公三年辛酉前 720年前冬至爲庚午 0600,次年冬至乙亥 5044,程序計算與朱載堉相合。

冬至可靠性驗證

這是授時曆議的所有數據,程序與原文不一致的列在後面。明顯是傳抄錯誤的標紅,其餘是計算不同。

大衍 原文 宣明 原文 紀元 原文 統天 原文 大明 原文 授時 原文
獻公 15 年甲寅
僖公 5 年-655 辛亥 辛亥 9493 辛亥 6679 壬子 8486 七十四 辛亥 1992 二十七 壬子 8964 辛亥 1460
昭公 20 年-522 己丑 己丑 4556 己丑 2054 庚寅 2502 戊子 9535 九十二 庚寅 2945 戊子 8314
元嘉 12 年 435 戊辰 3539 3286 3959 5327 五十一 4145 4715
13 年 436 甲戌 癸酉 5984 5732 6395 7768 七十五 6581 7148
15 年 438 甲申 0872 0625 1268 2650 二十四 1453 2014 十九
16 年 439 己丑 3316 3071 3704 5091 四十八 3889 三十七 4447
17 年 440 甲午 5760 5518 6140 7532 七十二 6325 6880
18 年 441 己亥 8204 7964 8576 9973 九十七 8761 9313
19 年 442 乙巳 0648 0411 1012 2414 二十一 1197 1746
大明 5 年 461 乙酉 甲申 7085 6893 7300 8788 八十九 7480 7973
天嘉 6 年 565 庚寅 1270 1321 0667 2487 0818 1720
光大 2 年 568 乙巳 8602 八十 8661 7975 9802 九十七 8126 9016
太建 4 年 572 丁卯 丙寅 8378 8446 七十八 7720 9555 7870 九十八 8744
6 年 574 丁丑 3266 3339 2593 4431 四十三 2742 3608
9 年 577 壬辰 癸巳 0599 0679 壬辰 9901 癸巳 1745 十六 0050 0904
10 年 578 戊戌 3043 3125 三十 2337 4183 四十 2486 3336
開皇 4 年 584 己巳 7707 7804 6955 8811 八十六 7101 8624
5 年 585 乙亥 0151 0250 甲戌 9391 九十二 乙亥 1249 十一 甲戌 9537 五十五 乙亥 1055
6 年 586 庚辰 2595 2696 1827 3687 三十四 1973 3486
7 年 587 乙酉 5039 5143 4263 6125 五十九 4409 5917
11 年 591 丙午 4816 4929 4008 四十三 5876 五十七 4153 5641
14 年 594 辛酉 2148 2268 1317 3189 三十 1461 2934
貞觀 18 年 644 乙酉 甲申 4352 4589 3128 5048 3258 4484
23 年 649 辛亥 庚戌 6572 6821 5309 7231 5438 6639
龍朔 2 年 662 戊午 8345 8625 6979 8904 八十八 7105 8242
儀鳳 1 年 676 壬申 2562 2875 1086 3009 二十八 1208 2276
永淳 1 年 682 癸卯 7227 7554 5704 7625 5824 7460 六十八
開元 10 年 722 癸酉 4990 5411 3152 5041 3262 4660
11 年 723 戊寅 7434 7857 七十七 5589 7476 5698 7090
12 年 724 癸未 9878 0304 8025 9911 8134 9520
景德 4 年 1007 戊辰 1553 2643 7473 8154 八十二 7507 七十四 8029
皇祐 2 年 1050 癸丑 6648 六十五 7839 七十九 2230 2580 2252 2390
元豐 6 年 1083 丙午 7303 8571 2626 2694 二十七 2639 2678
7 年 1084 辛亥 9747 壬子 1018 辛亥 5062 5121 5075 5104
元祐 3 年 1088 壬申 9523 九十四 0804 4807 4830 4818 4808
4 年 1089 丁丑 戊寅 1967 3250 丁丑 7243 7257 7254 7234
5 年 1090 壬午 癸未 4411 5696 壬午 9679 9685 九十七 9690 9660
7 年 1092 癸巳 9299 0589 4551 4539 4562 4512
元符 1 年 1098 甲子 乙丑 3964 5268 甲子 9169 9102 9178 9068 九十一
崇寧 3 年 1104 丙申 8628 9946 3786 3663 3794 3624 三十七
紹熙 2 年 1191 壬申 癸酉 1263 2786 壬申 5737 4724 5721 4775 四十六
慶元 3 年 1197 癸卯 甲辰 5928 7464 0354 癸卯 9274 甲辰 0337 癸卯 9325 九十二
嘉泰 3 年 1203 甲戌 丙子 0592 2143 乙亥 4971 3825 三十七 4952 3875 三十七
嘉定 5 年 1212 壬戌 癸亥 2589 4161 壬戌 6897 六十九 5653 6876 5700 五十六
紹定 3 年 1230 丙申 丁酉 6582 8196 八十三 0749 丙申 9313 丁酉 0723 丙申 9350 九十二
淳祐 10 年 1250 辛巳 壬午 5464 九十四 7125 辛巳 9473 九十六 7832 七十七 9442 7850
至元 17 年 1280 己未 8786 庚申 0518 己未 2560 0627 2520 二十四 0600

這些實例可以證明,五—九、七—九很容易相混。至於其他的差異,不知道爲什麼古人手算那麼不準。

躔離可靠性驗證

授時曆經只有晷漏立成,沒有躔離改正立成。太陽盈縮積度與曆志立成密合。太陰遲疾積度和立成總是差了一點點,比如 61 限,程序 4.9940,立成 4.99381075,87 限,程序 5.4283,立成 5.42827575,這點區別沒有影響。

積日 ⇒ 日月盈縮修正

的「誤差」一欄:根據該曆盈縮遲疾差的極值算得偏心率,用此偏心率代入開普勒方程算真近點角與平近點角之差,得盈縮遲疾差。誤差=(該曆差-開普勒差)/開普勒差*%

幾何模型均數

如果偏心率是0,就是默認數值,即橢圓模型0.0169,偏心圓及諸輪模型0.0179208。若輸入某偏心率,則都用該偏心率。

步軌漏

會圓術

輸入圓的半徑 r、弓形的高「矢」h、週天度。

弧矢割圓術

此處與上面授時黃赤轉換的區別是這裏可以隨意輸入黃赤交角。第一行「球面三角」是球面三角黃赤轉換的公式,第二行「三角割圓」是用三角函數代替會圓術的弧矢割圓術。弧矢割圓術在黃赤度數和黃赤交角在 45—50 度附近誤差達到最大,約 0.4 度。

授時大統可靠性驗證

元史授時曆經、朝鮮奎章閣授時曆立成大統通軌明史曆志都有晨昏立成,曆經、奎章閣是大都晷刻,曆志照錄大統通軌,用應天府晷刻。 曆經 自變量是黃道積度,其餘三部都是積日,要注意區分。

弧矢割圓算出來的授時日出與立成密合,區別在 0.0002 刻之內。我又根據立成試出來大統的半弧背,與立成密合,分毫不差,非常完美。

月亮位置

需要輸入此刻入降交點正交交點月的日數、距離冬至的日數。距離冬至日數會加上日躔、轉換爲黃道度,再進行接下來的計算。正交至半交:白大於黃,半交至正交:黃大於白。一交點月約 27.21222 日。一些觀點認爲, 大衍 月黃緯表用到了三次內插,我算得前半段Δ = 171, -24, -8後半段Δ = -75, -40, 8;曲安京否定這種說法,實質上還是二次。宋曆 第一行赤道度以九道術求得,第二行以黃赤轉換公式求得;授時 赤道度則直接以弧矢割圓術求得。赤白差一欄,除了紀元,都是赤道-白道,紀元較爲特殊,日月同名:赤白差 = 黃赤差 + 黃白差,異名:赤白差 = 黃赤差 - 黃白差

交食

交點月

可輸入小數或分數,算出來的小數可通過「同餘」標籤中的「連分數」化爲漸進分數。

可靠性驗證

大業戊寅皇極麟德要根據月份來判斷,這裏爲了簡化輸入,改爲用節氣判斷季節,這不準確。入交日在正交、半交附近發生交食,交點月的一半約爲 13.6061。

所有唐宋授時曆法的交食我都按原文梳理了一遍,但問題肯定還有,只能留待以後慢慢考慮。用有實例的交食推步論文來檢驗程序:

三統

漢哀帝元壽元年(前 2)正月辛丑朔日食。

明年正月朔日蝕,上乃徵孔光,免孫寵、息夫躬,罷侍中諸曹黃門郎數十人。宣復上書言:⋯⋯今日蝕於三始,〔如淳曰:「正月一日為歲之朝,月之朝,日之朝。始猶朝也。」〕誠可畏懼。小民正月朔日尚恐毀敗器物,何況於日虧乎!陛下深內自責,避正殿,舉直言,求過失,罷退外親及旁仄素餐之人,

麟德

沒有直接例子。有一條「月在日道裏者,以所如限數減遲速定數,餘以速減遲加其定交分。而出日道表者,爲變交分。不出表者,依定交分。」不懂是做什麼的。

大衍

中國古代曆法頁 539 有三次推算:

日期 食分 程序食分 食甚 程序食甚
724 七月日食 9.49385 9.47 3218
724 七月月食 9.66 9.66 8235 8239
729 十月日食 15 15 3389 3440

729 年主要區別是在定朔上,是 3402,程序算得 3457,程序的月亮改正大了一些。大衍曆應該沒什麼問題了。

宣明

頁 605 說日本保存大量宣明預報資料,估計是說韓國科學技術史資料大系天文學編第 2 冊,驪江出版社,1986。還有日本寬永二十一年1665宣明曆刻本。

崇天

嘉祐六年,

司天言:六月朔,日當食六分半。(《續資治通鑒長編》卷一百九十三)

1061 年行《崇天》,結果見下表,差得有點遠,可能是「九分半強」之訛。

藤豔輝崇天曆的日食推步術算了天聖二年五月丁亥日食,頁 544 說入轉 22 日轉定分 1377,錯了,應該是 1317。原文是 1377,但是很明顯是原文有誤,這樣食延就有錯了。宋志 :「天聖二年五月丁亥,算食二分半,候之不食。」1.66、1.69 按照第一種標準是一分半強,按第二種標準是一分半,原文當爲一分半。

日期 藤食分 程序食分 藤食甚 程序食甚 備註
1024 五月丁亥 1.66 1.69 4402
1026 十月癸酉 6.4 6.44 9:38 4019=9:38:44
1029 八月丁亥 9.3 9.33 7:06 2958=7:05:57
1040 閏正月丙辰 5.2 4.79 13:43 5721=13:43:49
1042 六月壬申 5.1 5.02 18:27 7693=18:27:47
1046 三月辛巳 7.2 7.27 13:15 5527=13:15:53
1053 十月丙申 4.4 5.84 12:56 6386=15:19:35 估計是 5.4 輸錯了
1054 四月甲午 9.8 9.55 16:04 6695=16:04:04
1059 閏正月丙申 5.2 5.38 12:50 5341=12:49:06
1061 六月壬子 9.8 9.83 13:41 5706=13:41:39

食甚時刻全部符合,食分有三個區別比較大,達到 0.4 分,由於文中沒有推算過程,不知道問題出在哪一步。看了下有推算過程的天聖二年五月丁亥,半晝分相符,那應該不是半晝分的問題。總之,崇天基本上沒什麼問題。

另外,藤豔輝宋代朔閏也有崇天紀元的計算結果,但是跟後來發的論文出入很大,估計是這篇論文的程序還有問題。

熙寧六年三月,

司天監言:四月朔,日當食九分。(《續資治通鑒長編》卷二百四十三)

程序算得《崇天》1073 四月甲戌朔日食分 9.05 虧 1608 甚 2540,相合。

奉元

元祐六年,

太史奏:五月朔,日當食六分。(《續資治通鑒長編》卷四百五十七)

1091 行《奉元》,程序 v1.03 算得《奉元》五月己未分 4.01,《觀天》分 2.71,《紀元》分 3.93

紀元

藤豔輝紀元曆日食算法及精度分析

日期 宋史食分 藤食分 程序食分 宋史初虧 藤初虧 程序初虧 藤食甚 程序食甚 宋史復滿 藤復滿 程序復滿
1107 十二月壬子 8.14 8.53 14.0922 5872=14.0928
1108 五月庚戌 3.40 3.41 12.5541 5208=12.4992
1110 九月丙寅 1.62 1.65 16.8216 7021=16.8504
1112 九月乙卯 1.48 5.97 4.7390 1982=4.7568
1113 三月壬子 3.25 3.26 13.9006 5789=13.8936
1115 七月戊辰 5.44 5.44 11.6928 4867=11.6808
1118 五月壬午 2.32 2.30 18.4204 7671=18.4104
1119 四月丙子 6.34 7.13 18.8275 7838=18.8112
1120 十月戊辰 8.83 8.84 13.5898 5670=13.6080
1122 二月庚寅 7.51 7.49 13.6496 5698=13.6752
1123 八月辛巳 9.06 9.02 5.7544 2390=5.7360
1134 七月戊申 1.89 1.91 13.0021 5413=12.9912
1135 正月乙巳 九分半 9.68 9.68 辰正 8:19=辰正一刻 3471=8:19 10.3419 4310=10.344
1167 四月戊辰 二分 3.64 3.65 5796
1168 二月望 食既 15 15 7428 戌正三刻 20:40=8615=戌正三刻 8356=20:03=戌正初刻
1176 正月望 二分及三分以上 6.42 6.42

最後一條 1168 二月望,考慮了一下,感覺是史載和藤都沒加月食時差,加入時差後食甚會減少一些,復圓就提前一些。

除了三個不太相合的,紀元基本上沒問題。應該是特殊情況的處理沒對,留待以後考慮。

其他宋曆

以下據藤豔輝宋代頁 185:

序號 曆法 日期 宋史食分 藤食分 程序食分 宋史初虧 藤初虧 程序初虧 宋史食甚 藤食甚 程序食甚 宋史復滿 藤復滿 程序復滿
1 乾道 1167 四月戊辰朔 一分 2.67 3.51 5883
2 乾道 1167 八月庚戌望 六分半 5.63 6.07 8968
3 乾道 1168 二月望 食既 15 15 二更五點 21:39 21:39 8370
4 乾道 1173 五月朔 四分半 + 二分少強≈七分 8.62 7.75 午時五刻半-四刻半≈午初初刻 11:12 4630=午初初刻 未初二刻 - 三刻 13:21 5445=13:04 申初一刻 + 二刻已上 15:30 6259
5 淳熙 1176 九月望 小分百中之二十七 0.27 2.72* 攢點九刻
統元 二分及三分以上 1.62*
乾道 4.01*
6 淳熙 1185 三月望 幾五 4.92 4.92 二更二點 22:19 9341=22:25=二更四點
7 淳熙 1185 九月望 大分五小分二十六 5.25 5.27 卯初三刻,系攢點九刻後 5:30 2195=5:16=卯初一刻 卯正三刻後 6:35 2671=6:24=卯正一刻 辰正初刻後 7:39 3147=辰初二刻
8 統天 1202 五月甲辰朔 3.52 午初一刻-一辰有半 10:56 4453=10:41=巳正二刻 午正
9 開禧 1220 不食 不食
10 統天 1245 七月癸巳朔 8.40 3.39 13:49 6022=未正一刻
開禧 八分 9.35 8.01 未初三刻 14:01=未正初刻 5810=13:56= 未初三刻

10 沒說按照哪部曆法算出來八分,如果按照我的結果,就是開禧,按照藤的結果,是統天。統天差得有點多,估計是歲實消長算法不一樣。我紀元的月食時差似乎有點問題。

授時

中國古代曆法頁 669 有三次日食推算:

日期 元史食分 食分 程序大統通軌食分 食甚 程序食甚 程序授時食分 授時食甚
1292 正月 7.168 9.44 5481.8 5482 7.77 5914
1299 八月 二分有奇 2.67 2.67 4390 4385 3.28 4856
1302 六月 五十七秒 1.15 0.35 8058 8061 0.48 8130

李勇授時曆與仲康日食推算列出了前 2200—前 1799 年授時曆日食典授時曆預報 2012 年日食列出了 1990—2050 日食典。經過核對,發現連食甚時刻都差了許多,因此食分也差了 1 分左右,最大的可能是歲實消長算法不一樣。

魏文魁抨擊授時 明志

宋文帝元嘉六年十一月己丑朔,日食不盡如鉤,晝星見。今以授時推之,止食六分九十六秒⋯⋯

429 年十一月己丑朔,程序算得:

大衍、大明、授時

授時曆議:

開始的兩個仲康日食、十月之交日食先不管。

春秋日食:

大衍 原文 授時 原文
隱公三年-719 二月己巳 13.10 不食 去交分二十六日六千六百三十一入食限
桓公三年-708 七月壬辰 12.91 7.12 食六分一十四秒
十七年-694 十月 10.47 7.18 交分二十六日八千五百六十入食限
莊公十八年-675 三月 不食 8.76
二十五年-668 六月辛未 11.57 7.54 交分二十七日四百八十九入食限
二十六年-667 十二月癸亥 13.40 6.33 交分十四日三千五百五十一入食限
三十年-663 九月庚午 11.34 7.38 去交分十四日四千六百九十六入食限
僖公十二年-647 三月庚午 10.02 4.03 去交分二十六日五千一百九十二入食限
十五年-644 五月 不食 不食 去交分一日一千三百一十六入食限
文公元年-625 二月癸亥 10.89 7.11 去交分二十六日五千九百十七分入食限
十五年-611 六月辛丑 7.75 8.70 交分二十六日四千四百七十三分入食限
宣公八年-600 七月甲子
十年-598 四月丙辰
十七年-591 六月癸卯
成公十七年-573 十二月丁巳
襄公十四年-558 二月乙未
十五年-557 八月丁巳朔
二十年-552 十月丙辰
二十一年-551 七月庚戌
十月庚辰
二十三年-549 二月癸酉
二十四年-548 七月甲子
八月癸巳
二十七年-545 十二月乙亥
昭公七年-534 四月甲辰
十五年-526 六月丁巳
十七年-524 六月甲戌
二十一年-520 七月壬午
二十二年-519 十二月癸酉
二十四年-517 五月乙未
三十一年-510 十二月辛亥
定公五年-504 三月辛亥
十二年-497 十一月丙寅
十五年-494 八月庚辰
哀公十四年-480 五月庚申

三國以來日食:

大衍 原文 大明 原文 授時 原文
章武元年 221 六月戊辰 6426=申一刻 食甚未五刻 5959=未五刻 食甚未五刻
黃初三年 222 十一月庚申 6630=申三刻 食甚申三刻 6480=申二刻 食甚申二刻
中大通五年 533 四月己未 不食 虧初午四刻 5024=午四刻 虧初午四刻
太清元年 547 正月己亥
太建八年 576 六月戊申
永隆元年 680 十一月壬申
開耀元年 681 十月丙寅
嗣聖八年 691 四月壬寅
十七年 700 五月己酉
十九年 702 九月乙丑
景龍元年 707 六月丁卯
開元九年 721 辛酉九月乙巳
慶曆六年 1046 三月辛巳
皇祐元年 1049 正月甲午
五年 1053 十月丙申
至和元年 1054 四月甲午
嘉祐四年 1059 正月丙申
六年 1061 六月壬子
治平三年 1066 九月壬子
熙寧二年 1069 七月乙丑
元豐三年 1080 十一月己丑
紹聖元年 1094 三月壬申
大觀元年 1107 十一月壬子
紹興三十二年 1162 正月戊辰
淳熙十年 1183 十一月壬戌
慶元元年 1195 三月丙戌
嘉泰二年 1202 五月甲辰
嘉定九年 1216 二月甲申
淳祐三年 1243 三月丁丑
中統元年 1260 三月戊辰朔食
至元十四年 1277 十月丙辰
大統

明志一:

景泰元年正月辛卯,卯正三刻月食。監官誤推辰初初刻,致失救護。

1450 年正月月食分 11.55 虧 2950=辰初初刻。

正德九年八月辛卯日食,曆官報食八分六十七秒⋯⋯

1514 年八月辛卯朔,分 9.01 甚 5096,差了 0.34 分。有可能是回回曆推的?

嘉靖七年,欽天監奏:閏十月朔,回回曆推日食二分四十七秒,大統曆推不食。

1528 年閏十月己巳朔,分 2.03 虧 4170 甚 4525。問題可能在於我沒有判斷是否入食限,所有的都情況直接進入程序算食分。

萬曆十二年十一月癸酉朔,大統曆推日食九十二秒,回回曆推不食。⋯⋯邇年月食在酉而曰戌,月食將旣而曰未九分

1584 年十一月癸酉朔,分 0.93 甚 5030,程序密合。

丙申閏八月朔,日食,大統推初虧巳正二刻,食幾既,而臣候初虧巳正一刻,食止七分餘。大統實後天幾二刻⋯⋯

1596 年閏八月乙丑朔,分 9.88 虧 4529=巳正三刻。食分密合,初虧晚了一刻。

萬曆二十五年五月甲戌夜月食,監官推算差一日。

崇禎五年九月十五日月食,監推初虧在卯初一刻,光啓等推在卯初三刻,回回科推在辰初初刻。

1632 年九月己酉望月食,程序大統分 5.01 虧 2222=卯初一刻

崇禎十年正月辛丑朔日食⋯⋯大統推食一分六十三秒⋯⋯

1637 年正月辛丑朔,程序大統分 3.70。可能是「三分」之訛。

以下是 1442 年朝鮮交食通軌所附授時曆各年交食,是大統通軌算法的交食細草,共八次月食、一次日食,是僅存的古曆細草,我節選部分參數。以下程序與細草密合。

1430 閏十二月望 1431 十二月望 1435 四月望 1435 十一月日食
盈縮曆 46.4964975 342.596781
原文
盈縮差
原文 一度八二三六九〇
遲疾曆 12.2379975 5.813881
原文
遲疾差
原文 一度九六四七二八
交泛 14.554661
原文
交前後度
原文 一十〇度六五三一六四二九六八
食分 2.76 11.73 8.61 7.52
原文 二分七十五秒 一十一分七十三秒一四四 八分六十一秒〇五 七分五十二秒
食甚 9291 0263 5554
原文 九千二百九一一九七〇五 二百六十三分四〇四四 五千五百五四四六六五
初虧 8826 9535
原文 八千八百二六三一一四〇七 九千五百三五三四八三五

授時交食應該沒什麼問題了。

誤差原因分析

琴律計算器

詳見 赫赫金鑰|琴律學

減字譜轉唱名

我做好之後翻《陳長林琴學文集》,陳先生在 1989 年就做好了。(《計算機學報》1989(7))

示例是査阜西《洞庭》第一、二段。第一句 9.6 徽(b4),準確約值是 9.46(3)。

抓起、散音同聲暫時沒處理。

幽蘭開頭:

s,1;9.9,2;s,1;9.9,2;l,14;s,2;1;2;2;1;2;14,2;3;3;2;3;s,5;4;10,2;s,4;8,2;s,5;11,1;9,1;2;1;2;8,2;l,7.6;s,2;1;10,4

第三段開頭泛音:

[10,5;6;5;6;11,5;6;5;6;13,3;12,5;4;5;4;5;5;11,6;12,4;5;4;3;10,6;10,7;6;5;6;5;4;9,6;10,5;4;5;6;7;6;12,3;10,6;11,4;10,5;5;4;3;4;3;4;3;4;6;5;11,3;10,3,5;11,4;10,6;9,4;3;4;5;4;5;11,4;3;12,5;11,4;3;4;3;2;3;2;1;9,4;3;4;5;4;5]

幽蘭以一弦爲宮。洞庭一三四段以四弦爲宮,第一段有 1 2 3 4 5 6,那就是徵調法或者商調法。正調四弦散音爲 G 黃鐘,那就是黃鐘爲徵調或者仲呂之徵調。不過譜子上寫的「林鐘均側弄」。

這是古怨,品弦法 12,律制 1

9,7;s,5;9,7;s,5;9,7;s,5;9,7;s,4;5;9,7;s,6;7;7,7;s,7;5;9,7;8,7;l,7;7,7;l,8;s,4;9,6;7;9.5,5;10,5;6;s,2;9,4;s,1;2;8.4,4;[9,7;10,5;9,7;10,5;9,7;10,5;9,7;10,4;5;9,7;10,6;7;7;10,5;9,7;10,6;7;7;6;5;5;9,6;10,5;1;2;3;2];s,6;1;2;3;11,1;s,3;1;2;1;3;11,1;s,3;10,1;2;1;11,2;l,10;s,4;11,2;10,3;s,5;10,3;4;3;4;l,8.4;s,7;9,5;8.4,4;s,7;7,5;4;5;6;5.6,2;l,7;7,6;5;6;l,6.2;s,2;6.2,6;s,3;2;6.2,6;8,7;l,7;7;l,8;7.6,6;s,5;9,7;8,7;8.4,4;9,5;l,8;s,4;9,6;5;6;7;8.4,5;10,5;9.4,4;s,2;8.4,4;s,3;11,1;s,3;11,1;s,3;11,1;s,3;11,1;l,7;[7,3;7;6;2;7]

只有這句
s,6;1;2;3;11,1;s,3;1;2;1;3;11,1;s,3;10,1;2;1;11,2;l,10;s,4;11,2;10,3;s,5;是以一弦爲宮,其他都是二弦爲宮。

這是神奇澤畔吟,淒涼調,律制 3。原譜一弦十二徽半,但是只有 12 徽有音。又如 s,5;10,3 相應,原譜是 10 徽。

11,2;s,4;1;11,2;s,4;11,2;s,7;11,5;s,7;9,6;2;s,5;7.6,7;l,9;6;9,2;9,4;6;l,10;s,7;11,5;10,1;s,3;11,2;l,9;s,5;9.89,3;l,10.8;qi;s,7;4;9,6;5;6;5;7.6,7;7;zh;l,9;6;8.6,5;9,6;8.4,7;9,6;l,11;5;10,4;11,5;10,6;11,5;10,4;3;1;11,2;l,9;l,8;s,6;5;3;11,2;l,9;s,5;[11,2;10,4;10,1;2;5;11,2;10,7;11,5;10,7;12,6;3;10,5;7;11,3;10,4;11,2;13,6;5;10,4;5;11,2;10,6;4;12,6;10,7;12,4;10,7;4;5;7;12,4;10,7;4;5;4;7;12,4;10,7;12,2;10,5;11,2;12,6;11,3;10,7;4;12,6;5;6;5;7;5;6;4;5;10,4;6;5;11,2;12,2;10,5];8.4,7;s,5;8.4,7;l,9;9,6;11,5;5;s,7;11,5;s,7;6;9,3;yin;s,7;5;10,3;zh;l,11;s,4;11,2;12,1;qi;s,2;4;11,2;s,4;12,1;qi;s,2;1;2;4;11,2;s,4;5;9,2;7.6,6;zh;xia;8,5;7.6,4;nao;s,7;9,4;2;1;l,7.55;s,5;7;9,2;nao,l,9.5;9,1;14,1;l,10;s,3;10,3;l,11;2;s,4;9,2;8,3;7.6,4;7;yin;l,7.6;9,6;5;7.6,7;nao,qi;s,5;8.4,7;l,9;9,6;s,4;9,6;s,2;4;9,6;10,5;9,6;10,5;l,11;10,4;3;6;nao;qi;s,1;2;10,5;10,4;s,1;10,4;10,5;s,2;10,5;10,7;s,4;10,7

下爲神奇瀟湘第八段泛音

[10,1;9,3;10,4;9,6;10,5;3;11,1;9,3;6;10,1;2;9,4;10,3;2;1;6;4;5;4;7;4;12,3;1;10,4;5;11,5;12,5;7;6;4;10,7;13,5;6;4;12,7;13,3;4;1;12,4;10,5;6;4;7;4;12,3;1;10,4;6;10,2;3;4;5;4;3;2;2;9,6;5;10,2;10,7;7;7;7;7;7;7;6;5;5;12,1;10,4]

下爲山中思友人第二段泛音

[10,5;7;12,4;10,7;12,5;11,6;12,4;10,7;12,3;10,6;12,4;10,7;12,5;10,5;12,7;6;10,4;12,6;10,5;11,6;12,5;12,7;6;10,4;12,6;5;11,6;12,4;10,7;12,3;10,6;12,4;10,7;12,5;10,5;9,7;6;10,4;9,6;10,5;4;7;9,5;4;7;6;5;10,4;9,6]

下爲神奇離騷第一段泛音 [10,1;9,3;10,4;9,6;10,6;1;6;5;9,7;14,6;9,6;10,4;9,6;10,6;9,4;7,7;9,6;3;7,6;9,2;7,5;6;4;9,1;7,4;2;1;5;6;7;9,4;9,6;2;4;3;1;2;7,2;8,4;9,2;9,1;7,6] 第十段 [7,4;7,7;9,4;7,7;9,6;2;7,6;4;9,1;7,4;9,5;6;5;7;6;7,4;9,6;10,5;9,6;5;4;7,7;5;4;5;7;6;9,3;7,6;3;4;3;8,5;9,5;2;7,6;5;9,1;2;7,5] 十五段 [10,4;7;12,4;10,7;6;12,1;10,5;4;12,1;10,4;6;5;7;6;12,3;10,6;5;4;3;12,1;10,4;2;1;6;2;3;4;4;10,6;5;4;12,2;10,5;7,2;7,5;9,2;7,6;5;9,1;2;7,5;1;4;2;1;4;5;5;2;6;5;9,1;2;7,5]

下爲短淸泛音:

[10,2;9,4;10,4;9,6;5;4;10,2;9,4;1;2;4;3;10,1;9,3;1;10,1;12,3;4;3;10,1;12,3;4;3;4;5;11,1;12,5;10,5;4;5;6;7;6;5;12,3;10,6]

下爲華胥引開頭泛音:

[7,1;5,2;4,5;5,5;4;5;6;4,1;6;4;5;6;5;4;3;2,5;4;5;6;5;4;4,3;5,5;4,4;5;6;5;6;3;5,5;4;5;6;5;6;2;7,5;4;5;6;5;6;7,3;9,5;4;5;6;5;6;9,2] 曲中泛音 [7,4;5;6;5;6;3;9,5;4;5;6;5;6;9,2]

秋月照茅亭

[10,1;9,5;4;6;10,2;9,4;10,1;2;3;9,7;10,3;4;9,6;12,6;11,6;10,2;3;4;7;11,6;12,4;10,7;5;12,4;10,7;10,3;2;9,7;10,3;4;9,6;7;10,4;9,6]

白雪 第一段泛音:[9,4;5;10,4;5;5;9,4;5;10,4;5;8,2;9,1;10,1],s,6;[9,4;5;10,4;9,6;7;6;10,5;6;9,1;10,4;9,4;5;10,4;9,6;4;2;10,5;9,2;4;3;2;3;4;5;5;10,1;9,5;4;3;5;6;10,2;9,4;3;1;3;4] 第五段泛音 [12,4;5;5;10,4;5;5;12,4;5;11,3;10,5;12,4;10,1;6;12,7;6;5;10,5;6;5;4;12,5;11,1;12,5;3;4;3;5;11,1;12,5;4;5;6;10,4;7;6;4;10,1;10,6] 第九段 [9,6;10,4;9,6;10,3;5;6;3;4;9,6;10,1;11,1;2;9,7;10,3;11,1;9,5;4;3;4;5;10,2;9,4;1;2;3;4;3;7,1;6;4;1;6]

神人暢 一二段泛音:[7,1;9,3;7,2;9,4;7,1;5,3;7,2;5,4;4,3;5;2,3;5;4;1,2;2,4;1,3;4;5;2,2;1,5;1,3;4;3;1,5;2,2;1,5;3;2,5;4;1,2;2,4;3;3,4;4,5;2,2;4,5;2,4;4,3;5;2,2;4,5;3,4;4,5;2,2;4,5;5,3;5;4,5;3;5,5;4;4,2;5,4;5,3;6,4;7,5;5,2;7,5;5,4;7,3;5;5,2;7,5;6,4;7,5;5,2;7,5;9,3;8,4;7,5;9,2;7,5;9,4;7,3;5;9,2;7,5;9,3;5;10,5;3;9,5;4;10,2;9,4;10,3;5;12,3;5;4;13,2;12,4;3;4;5;2;13,5;3;4;3;5;12,2;13,5;12,5;4;13,2;12,4;3;11,4;10,5;12,2;10,5;12,4;10,3;5;12,2;10,5;11,4;10,5;12,2;10,5;9,3;5;10,5;9,5;4;10,2;9,4]

西麓堂春晓吟第一段(集成 3 册页 176)

s,2;7;5;9,7;s,2;5;9,7;s,2;3;2;7;5;9,7;s,2;5;9,7;10,6;qi;s,5;2;10,5;10,6;11,3;10,5;10,5;l,12;14,4;14,1;13,2;l,10;l,9;s,5;9,3;9,4;8.5,5;7.8,5;zh;l,8.5;9,4;9,3;8.5,5;l,7.6;s,2;9,4;7,7;l,7.6;8,6;8,3;7.6,4;l,7;7,5;7,2;7,7;zh;l,7.6;s,5;9,7;10,6;9,7;9,2;9,6;9,6;zh;l,10;10,5;11,3;qi;10,7;6;l,9;s,2;14,6

筮法

參考資料

清華簡《筮法》的算法構擬採用杨胜男、王承略《大衍揲扐法与清华简〈筮法〉揲扐法再探讨》,《周易研究》2021年第3期。

完全不瞭解的同學可以隨便看看這些:

其他:

Contributors

@KuJihhoe

main developer & UI

@LZFcc

architect

JOIN US!