这条线的主要成就

后来,代表团和梁令赞设计制造了水运象。这种水力大象,带有报时装置,可以自动报时,被称为水媒浊天或开元水媒浊天的俯视图。

水载浑天仪是一种依靠水力使其运转,能模仿天体运行,能测量时间的仪器。这个浑天仪改进了汉代科学家张衡的设计,将水注入轮子,使其昼夜转动。除了星星的运动,它还可以显示太阳的升起和月亮的落下。当然比张衡的水运浑仪更精致复杂。所以在制作水载浑仪的时候,把它放在武成殿前,由文武百官观看。全部制作精美,北月测量和报时准确,令人印象深刻,称得上精彩。

特别是在水上浑仪上,还有两个木制的人物(相关的商州青铜佛龛遗迹),是用齿轮驱动的。一个木像每时每刻自动打鼓(古代一昼夜分一百刻),另一个木像每天早上自动敲钟(两小时内)。这两个木制人物是利用机械原理制作的古代机器人。这是一个非常聪明的计时机器,是世界上最早的机械钟装置,也是现代机械钟的始祖。比公元1370年西方出现的柳条钟早了六个世纪,充分显示了中国古代劳动人民和科学家的聪明才智。

这种水载浑天仪虽然使用了一段时间,但由于铜铁的逐渐涩化,无法旋转而进入博物馆。然而,梁令赞一行却因获得天文钟的发明权而永载史册。英国著名科学技术史家李约瑟博士在《中国科学技术史》第四卷中说:高僧一行和梁灵赞发明的平行联动装置,本质上是最早的机械钟,是所有擒纵器的始祖,早于14世纪欧洲第一台机械钟;说西方的钟表装置是14世纪早期在欧洲发明的,这是完全错误的。)

水载浑天仪上刻着二十八夜,每天往轮子里注入一次水,与周日天体视运动一模一样。水载浑仪一半在水箱里,水箱上框如地,自然敲钟。整个水载浑天仪不仅能演示日月星辰的视运动,还能自动报时。有两个木头人,每时每刻敲鼓(古代一昼夜分为一百分钟=0.24小时=14,4分钟),每隔一小时(现在是两小时)敲钟。这是世界上最早将擒纵机构应用于计时的装置,比国外编钟的出现早了600多年。一批人的成就已经超过了张衡。它也是最早会报时的机器人。

一群人用新做的黄道导航仪观测了太阳、月亮、黄道五颗星的运动,测量了一些恒星的赤道坐标和它们与黄道的相对位置。人们发现,这些星星的位置与汉代测量的位置有很大变化。诏书改为历法后,一个团体组织并发起了一次大规模的天文大地测量。这次勘测用实测数据彻底否定了“日影一寸,地球千里”的错误理论,提供了相当准确的地球子午线第一弧长度。

该代表团发起这一大规模天文调查有两个主要目的。第一,中国古代有个传统理论:“日影一寸,地气千里。”根据当时在交州(今越南河内)的测量资料,刘宋时期的天体数学家何承天对此开始怀疑,但长期得不到证实。隋代数学家刘卓提出了具体方案,用测量结果否定了这一错误说法。他说:“做爱的状态,北无影踪,数万里,南有太阳横,是一千里一寸,真不坏。”他建议:“请聘水利工程师,算术士,取河南北平之地,可丈量数百里,使南北使右。判断时,漏气,用绳子平地,用空气去分,当天进行。差率在书里可以知道。然后天地无所藏其形,无所遁。是提前给圣人看,效果是消除疑惑。”但这个建议在隋朝没有被采纳。一条测量线实现了这个计划。其次,当时发现日食发生的时间和它看到的食像在不同的观测点是不一样的,日影的长度和每个节气缺失的昼夜分钟也是不一样的。这种现象在过去的历法中没有考虑到。这就需要在各个地方实地测量。

在这次调查中,太师剑南公说太师关大祥元太等人到各地“等日影,回报日本”。而这条线“是基于南北的较量,用毕达哥拉斯的方法算出来的。”可见,一线不仅负责组织领导测量工作,还亲自承担测量数据的分析计算。

当时的调查范围很广,从北纬51度左右的铁勒回鹘部(蒙古乌兰巴托西南)到南纬18度左右的林逸(越南中部),超出了我国南北的陆地边界。这种规模在世界科学史上是前所未有的。

其中,最值得注意的是,南宫说率领的勘测队按照刘卓的计划,在黄河两岸的平原地区测量了四个点。从北到南依次为滑州白马(今河南滑县)、汴州均邑太岳台(今开封西北)、徐州扶沟(今河南扶沟)、河南上蔡(今上蔡)乌金亭。其中白马在黄河以北,其他三个点在黄河以南。都在东经114.2度-114.5度之间,几乎在同一经度上(也就是刘卓所说的“南北对齐”)。从白马到上蔡526总共有270步,北极的高度差是1.5度,得出的结论是大约有351里80步,北极的高度差是1度。这实际上使地球子午线的长度增加了一度。

由于目前人们对唐尺的价值看法不一,这种经络测量的准确性是有限的。初步估算结果表明,某线实测值与现代值相比,相对误差约为11.8%。

国外最早的子午线测量是在公元814年,由天文学家阿尔华拉·米子(约783-850)组织,在幼发拉底河平原进行了一次大地测量。计算结果显示子午线曾经是111.815km(现代理论值)但距离第一次出行已经过去90年了。僧侣和他的随从是第一批测量子午线长度的人。《大衍历》中的九服影算法及其正切函数表

中国古代历法始于东汉的四年历,每个节气开始时都有日晷长度和太阳极数的观测记录。漏刻和日晷成为古代历法中重要的计算项目。隋代发明二次等距插值法后,李首先将二次插值法引入漏刻的计算中,由每气第一天的漏刻数和漏影数计算出每一天的漏刻数和漏影数。但各种历法中记载和计算的漏影,大多是阳城(今河南登封东南告成镇)的数值。在编纂《大李岩》时,一个小组做了一次大规模的天文调查。通过观察得知,随经过时间剧烈变化的影子长度因地而异,但与太阳的天顶距有固定的对应关系。在大李岩,有一行人发明了一种计算任何地方日影长度和极值的方法,叫做“九衣影”。

历法中给出了阳城各种气体的太阳去极化,因此知道了各种气体的太阳天顶距差,这个差等于任何地方。这样,对于任何地方,只要知道一个节气(如夏季至日)的太阳天顶距,就可以通过加减这个差值计算出其他气体的太阳天顶距。剩下两个问题需要解决:一是如何求某个夏季至日(或冬季至日)的太阳天顶距;其次,已知天顶距如何转换阴影长度。这两个问题可以通过建立太阳的影子长度和天顶距对应的表格来解决。

如果列出一个以天顶距为自变量,阴影长度每隔一度的数值表,就可以解决上述两个问题:首先测量被测地点夏季至日的阴影长度(在一条线引出的大地测量中,处处都进行这种测量),从阴影长度查表中得到太阳天顶距,然后如上所述加减差值得到该地点各气体的天顶距,再重新查表得到阴影。达李岩《步漏术》中的一句台词,建立了这样一张0度到80度的每度阴影长度与太阳天顶距的对应表,这是世界上数学史上最早的正切函数表。

在国外,920年左右,阿拉伯学者阿尔·白塔尼(约858-929)根据影子长度与太阳仰角的关系,每隔0-90度编制了12尺杆的影子长度表,实际上就是12ctgα的表。另一位阿拉伯学者阿布勒-瓦法(940-998)在980左右编了一个正切余切函数表,每隔15度和10度给出一个值。他还首次引入了割线和余切函数。一条线被编译成切线和余切函数表的方法几乎和Al Batani一样。一条线用的是太阳天顶距,阿尔·巴塔尼用的是太阳的仰角,两者互为余角,所以他们的发现是一样的。一条线的正切函数表比比亚尔·巴塔尼早近200年,比比亚尔·韦弗早250年。虽然一行的正切函数表只是从0度到80度,误差也相应较大,但毕竟是世界上最早的正切函数表。

大衍历的插值算法

今天常用的牛顿插值公式,其不等间隔形式比等间隔形式复杂得多。天体算术史上流行一种观点,认为中国古代唐代天文学家和数学家在其《大李岩》中发明了二次不等间隔插值,他们有意识地应用了三次差插值的近似公式。因此,他在插值方面的贡献在天文计算史上引起了中外研究者的关注。中国古代的非线性插值法是由刘卓在他的《皇历》(604)中提出的,当时考虑了太阳运动的不均匀性,以计算太阳纬度的修正值。中国古代插值法数学研究的新成果表明,刘卓的二次等距插值法的原理是基于《九章算术》中所描述的模型,认为太阳每天的运行速度构成一个等差数列。总之,用的数学方法就是构造一个等差数列,求它的前几项之和。一行插值并没有人们想象的那么有意义。就插值算法本身而言,一行算法与刘卓算法完全相同。不同的是,“黄”是在平空日晷表的基础上插值得到的。大阳历是以固定空气的间隔内插在日晷表上的。

在太初历法之后,每一个历法都将回归年365.25分成24等份,每个节气是15.22天。这样规定的24气,称为“常气”或“平气”。张子欣指出“春分后日为迟,秋分后日为快”,所以刘卓写《帝历》时,就意识到二十四气都要有一个“定日”。他说:“春秋分去冬天的至日很奇怪,93号去夏天的至日也很奇怪。”然而,刘卓不明白太阳速度的增减和季节之间的关系。他的日晷表将春分平均分为12段,每次呼吸14.54天。春分之后,秋分之前,也分为12段,每次呼吸15.45天。这显然不是“定气”。另一方面,认为太阳在365.2444的一个回归年中会以365.2444度运行,每条空气线为15.2185度。冬季至日附近的日变化速度最快,所以两种气体之间的运行时间最短,夏季至日附近的日变化速度最慢,所以两种气体之间的时间最长。其实在大衍历中,最早提出将黄道分成24等份的概念,每个节气的长短就是太阳实际走过每个等份的时间,也就是俗称的“定气”概念。在一排提出了恒气的正确概念后,计算太阳改正时自然要用恒气作为插值区间。至于插值法本身,它完全遵循刘卓的方法。

值得一提的是,刘卓在《日像图》中规定,太阳视运动在一年内的变化规律是:冬季至日最快,冬季至日后逐渐变慢,到立春时开始加速,春分时达到最快,冬季至日到春分期间日平均速度比快。春分过后,太阳的视运动突然变得最慢,然后逐渐加速,然后在漫长的夏季开始减速,在夏季至日达到最慢。从春分到夏季至日,速度比平均速度慢。夏季至日之后的变化在夏季至日是镜像对称的。

大阳历盈缩点在一年中的变化趋势是,盈缩点在冬季至日附近最大,然后逐渐减少,在夏季至日最小,然后逐渐增加。这相当于把冬天的至日作为近日点,把夏天的至日作为远日点。这种认识是正确的,但黄的规定是不符合实际的。

说一条线有意识地应用了三次差插值法的近似公式,指的是《大衍历》中月极黄纬算法和五星中心差改正算法中使用的插值法。在深入了解中国古代历法中插值方法的构造原理后,研究者进一步将这两种插值方法与刘卓的二次等距插值方法进行了对比研究,证明两者在本质上是一致的。

人们之所以认为大衍历采用三次差插值法,是因为大衍历在上述两种算法的插值方法中引入了“中位差”的概念。但实际上,一行引入“中差”的原因是刘卓日表中各气体的递减率之差是相等的,而《大衍历》月球极地经纬度表中相邻两列之差一般是不相等的。这种现象的出现是一群人进行大量天文观测的结果。如果还是照搬黄的做法,就会出现同一点可能得出两个不同值的现象,这就迫使某行在计算方法上做一些细致的调整。