唐开元年间,僧一行(俗名张遂)编撰了一部优秀的历法一《大衍历》。《新唐书·历志》中记载了该历的许多内容。该历法有很好的实测基础,一部份测量资料来自黄道游仪的观测,另一部分来自全国多个观测点的极高、日影和距离丈量。
《大衍历》不但有历术七篇(步中朔术、发敛术、步日躔术、步月离术、步轨漏术、步交会术、步五星术),在历法的结构和内容上形成系统,而且还力图探讨历法原理,寻找历法的本质,从哲学的角度解释历法。《大衍历》的回归年长为365.2444日,朔望月长为29.3332日,一调天定为365.2563度。这些数据是建立在观测基础上的,但一行在《历议》中却用《易》释历,追求抽象的历理。这对后世影响较
大,反映出唐代天文学家合历算家与星占家为一身的特点和对传统天文学体系的进一步强化。
《大衍历》还记载了计算七曜不均匀运动的成就,一行通过实测发现地球在近日点运行最快,在远日点最慢,而日南至接近近日点;日北至接近远日点。《大衍历》计算太阳运动是以定气为根据的,在相临两气之间绘出盈缩分,它以3365.2444日为一年,将它分为24等,每个平气有153.2185日,如冬至与小寒之间盈分为2353,则按定气算,冬至到小寒的日数为:15.2185-0.8398≈14.44日。由于定气之间的时间间隔不相等,一行又发明了不等间距二次差内插公式,用以计算太阳的不均匀运动,如求日行速度不等而引起的定朔校正数。
在推算日食上,《大衍历》也有很大的成就。皇极历给出的只是某一固定地点日食的计算方法,一行给出的计算方法则对不同地理纬度,不同季节都作了考虑,将周日视差的影响命名为“食差”,使日食计算前进了一大步。《大衍历》还有不同地区所见食分不同的描述,且已隐约谈到全食带及食带以外见食不同的道理。对判别日食的亏超方位《大衍历》也作了很好的论述,比以往的认识更全面细致。就《大衍历》对日月交食的认识和计算看,可看出经隋至唐天文学有了长足进步。但由于日月食现象比较复杂,这时还未能精确掌握日月食的预报。《大衍历》中有两次日食就是因为推算不够准确而出现预报错误。
