《夢溪筆談》,北宋科學家、政治家沈括(1031年—1095年)撰,是一部涉及古代中國自然科學、工藝技術及社會歷史現象的綜合性筆記體著作。據現可見的最古本元大德刻本,《夢溪筆談》一共分30卷,其中《筆談》26卷,《補筆談》3卷,《續筆談》1卷。全書有十七目,凡609條。書中的自然科學部分,總結了中國古代、特別是北宋時期科學成就。社會歷史方面,對北宋統治集團的腐朽有所暴露,對西北和北方的軍事利害、典制禮儀的演變,舊賦役制度的弊害,都有較爲詳實的記載。
開元《大衍曆法》最爲精密,歷代用其朔法。至熙寧中考之,歷已後天五十餘刻,而前世歷官皆不能知。《奉元歷》乃移其閏朔。熙寧十年,天正元用午時。新曆改用子時;閏十二月改爲閏正月。四夷朝貢者用舊曆,比來款塞,衆論謂氣至無顯驗可據。因此以搖新曆。事下有司考定。凡立冬晷景,與立春之景相若者也。今二景短長不同,則知天正之氣偏也。移五十餘刻,立冬、立春之景方停。以此爲驗,論者乃屈。元會使人亦至,曆法遂定。
正月寅,二月卯,謂之建,其說謂斗杓所建,不必用此說。但春爲寅、卯、辰,夏爲巳、午、未,理自當然,不須因鬥建也。緣鬥建有歳差,蓋古人未有歳差之法。《顓帝歷》:“冬至日宿鬥初”今宿斗六度。古者正月斗杓建寅,今則正月建醜矣。又歳與歳合,今亦差一辰。《堯曲》曰;“日短星昴。”今乃日短星東壁。此皆隨歳差移也。
天文家有渾儀,測天之器,設於崇臺,以候垂象者,則古機衡是也。渾象,象天之器,以水激之,或以水銀轉之,置於密室,與天行相符,張衡、陸績所爲,及開元中置於武成殿者,皆此器也。皇祐中,禮部試《機衡正天文之器賦》,舉人皆雜用渾象事,試官亦自不曉,第爲高等。漢以前皆以北辰居天中,故謂之極星,自祖亙以機衡考驗天極不動外,乃在極星之末猶一度有餘。熙寧中,餘受詔典領歷官,雜考星曆,以機衡求極星。初夜在窺管中,少時復出,以此知窺管小,不能容極星遊轉,乃稍稍展窺管候之。凡歷三月,極星方遊於窺管之內,常見不隱,然後知天極不動處,遠極星猶三度有餘。每極星入窺管,別畫爲一圖。圖爲一圓規,乃畫極星於規中。具初夜、中夜、後夜所見各圖之,凡爲二百餘圖,極星方常循圓規之內,夜夜不差。餘於《熙寧歷奏議》中敘之甚詳。
古今言刻漏者數十家,悉皆疏謬。歷家言晷漏者,自《顓帝歷》至今,見於世謂之大曆者,凡二十五家。其步漏之術,皆未合天度。餘佔天侯景,以至驗於儀象,考數下漏,凡十餘年,方粗見真數,成書四卷,謂之《熙寧晷漏》,皆非襲蹈前人之跡。其間二事尤微:一者,下漏家常患冬月水澀,夏月水利,以爲水性如此;又疑冰澌所壅,萬方理之。終不應法。餘以理求之,冬至日行速,天運已期,而日已過表,故百刻而有餘;夏至日行遲,天運未期,而日已至表,故不及百刻。既得此數,然後覆求晷景漏刻,莫不脗合。此古人之所未知也。二者,日之盈縮,其消長以漸,無一日頓殊之理。曆法皆以一日氣短長之中者,播爲刻分,累損益,氣初日衰,每日消長常同;至交一氣,則頓易刻衰。故黃道有觚而不圓,縱有強爲數以步之者,亦非乘理用算,而多形數相詭。大凡物有定形,形有真數。方圓端斜,定形也;乘除相蕩,無所附益,泯然冥會者,真數也。其術可以心得,不可以言喻。黃道環天正圓,圓之爲體,循之則其妥至均,不均不能中規衡;絕之則有舒有數,無舒數則不能成妥。以圓法相蕩而得衰,則衰無不均;以妥法相蕩而得差,則差有疏數。相因以求從,相消以求負;從、負相入,會一術以御日行。以言其變,則秒刻之間,消長未嘗同;以言其齊,則止用一衰,循環無端,終始如貫,不能議其隙。此圓法之微,古之言算者,有所未知也。以日衰生日積,及生日衰,終始相求,迭爲賓主。順循之以索日變,衡別之求去極之度,合散無跡,泯如運規。非深知造算之理者,不能與其微也。其詳具餘《奏議》,藏在史官,及餘所著《熙寧晷漏》四卷之中。
予編校昭文書時,預詳定渾天儀。官長問餘:“二十八宿,多者三十三度,少者止一度,如此不均,何也?”予對曰:“天事本無度,推歷者無以寓其數,乃以日所分天爲三百六十五度有奇。日平行三百六十五日有餘而一期天,故以一日爲一度。既分之,必有物記之,然後可窺而數,於是以當度之星記之。循黃道,日之所行一期,當者止二十八宿星而已。度如傘虡,當度謂正當傘虡上者。故車蓋二十八弓,以象二十八宿。則餘《渾儀奏議》所謂‘度不可見,可見者星也。日月五星之所由,有星焉。當度之畫者凡二十有八,謂之舍。舍所以挈度,度所以生數也。’今所謂‘距度星’者是也。非不欲均也。黃道所由當度之星,止有此而已。”
又問予以“日月之形,如丸邪?如扇也?若如丸,則其相遇豈不相礙?”餘對曰:“日月之形如丸。何以知之?以月盈虧可驗也。月本無光,猶銀丸,日耀之乃光耳。光之初生,日在其傍,故光側而所見才如鉤;日漸遠,則斜照,而光稍滿。如一彈丸,以粉塗其半,側視之,則粉處如鉤;對視之,則正圓,此有以知其如丸也。日、月,氣也,有形而無質,故相直而無礙。”
又問:“日月之行,日一合一對,而有蝕不蝕,何也?”餘對曰:“黃道與月道,如二環相疊而小差。凡日月同在一度相遇,則日爲之蝕;正一度相對,則月爲小虧。雖同一度,而月道與黃道不相近,自不相侵;同度而又近黃道、月道之交。日月相值,乃相凌掩。正當其交處則蝕而既;不全當交道,則隨其相犯淺深而蝕,凡日蝕,當月道自外而交入於內,則蝕起於西南,復於東北;自內而交出於外,則蝕起於西北,而復於東南。日在交東,則蝕其內;日在交西,則蝕其外。蝕既,則起於正西,復於正東。凡月蝕,月道自外入內,則蝕起於東南,復於西北;自內出外,則蝕起於東北,而復於西南。月在交東,則蝕其外;月在交西,則蝕其內,蝕既,則起於正東,復於西。交道每月退一度餘,凡二百四十九交而一期。故西天法羅睺、計都,皆逆步之,乃今之交道也。交初謂之‘羅睺’,交中謂之‘計都’。”
慶曆中,有一術士姓李,多巧思。嘗木刻一“舞鍾馗”,高二三尺,右手持鐵簡,以香餌置鍾馗左手中。鼠緣手取食,則左手扼鼠,右手運簡斃之。以獻荊王,王館於門下。會太史言月當蝕於昏時,李自雲:“有術可禳。”荊王試使爲之,是夜月果不蝕。王大神之,即日表聞,詔付內侍省問狀。李雲:“本善歷術,知《崇天曆》蝕限太弱,此月所蝕,當有濁中。以微賤不能自通,始以機巧幹荊邸,今又假禳以動朝廷耳。”詔送司天監考驗。李與判監楚衍推步日月蝕,遂加蝕限二刻;李補司天學生。至熙寧元年七月,日辰蝕東方,不效。卻是蝕限太強,歷官皆坐謫。令監官周琮重修,復減去慶曆所加二刻。苟欲求熙寧日蝕,而慶曆之蝕復失之,議久紛紛,卒無巧算,遂廢《明天》,復行《崇天》。至熙寧五年,衛樸造《奉元歷》,始知舊蝕法止用日平度,故在疾者過之,在遲者不及。《崇》、《明》二歷加減,皆不曾求其所因,至是方究其失。