中国也是世界上最早的数学正切函数表创造于唐代的《大衍历》中

中国也是世界上最早的正切函数表创造于唐代的《大衍历》中。《大衍历》是中国唐代的一部先进历吱,僧一行著。

公元729年开始颁行,施行二十九年。

内容包括太阳和月球每天的位置与运动;每天见到的星象和昼夜时刻;日食、月食和五大行星的位置等。

僧一行在观测中发现,太阳在黄道上的运行速度冬季稍快,夏季稍慢,因而把二十四个节气分成四段,从秋分到冬至、冬至到春分,各88.89天;从春分到夏至、夏至到秋分,各93.73天。

这是我国历法编造上重大改进。后代多用这种格式来编历。

《大衍历》的九服晷影算法及其正切函数表

中国古代历法从东汉《四分历》开始,就有各节气初日晷影长度和太阳去极度的观测记录,漏刻、晷影成为古代历法的重要计算项目。隋朝刘焯(读音“超”)发明二次等间距插值法之后,李淳风首先将二次插值法引入到漏刻计算中,由每气初日的漏刻、晷影长度数求该气各日的漏刻、晷影数。但是,各历法中所记载和计算的漏刻和晷影大多是阳城(今河南省郑州市登封市东南告成镇)的数值。

一行在编制《大衍历》时,曾进行了大规模的天文测量,通过观测知道,随去极度变化的影长,又因地方而异,但同太阳的天顶距有固定的对应关系。一行在《大衍历》中发明了求任何地方每日影长和去极度的计算方法,叫做“九服晷影”。

历法中已给出阳城各气初日的太阳去极度,则各气的去极度差即为已知,同样各气的太阳天顶距差亦为已知,而这个差数对于任一地点都是相等的。这样一来,对于任一地方,只要知道某一节气(如夏至)的太阳天顶距,其他各气的太阳天顶距都可以通过加减这个差数求出。剩下还要解决以下两个问题:其一,如何求某地夏至(或冬至)的太阳天顶距;其二,已知天顶距如何换算出晷影长。这两个问题都可以通过建立一个影长与太阳天顶距的对应数表来解决。

如果列出一张以天顶距为引数,每隔一度的影长的数值表,则以上两个问题都可以解决:先在所测地测出(冬)夏至晷影长度(在一行领导的大地测量中,在每处都进行了这样的测量),由影长查表得出太阳天顶距,再加减一个如前所述的差数 即可求出该地各气的天顶距,返回再查表得影长。一行在《大衍历》“步晷漏术”中就建立了这样一个从0度到80 度的每度影长与太阳天顶距对应数表,这是世界数学史上最早的一张正切函数表

在国外,大约920 年左右,阿拉伯学者阿尔-巴坦尼(al-Battani,约858年—929年)根据影长与太阳仰角之间的关系,编制了0度—90 度每隔一度时12尺竿子的影长表,这实际上是一个12ctgα的数表。另一位阿拉伯学者阿尔-威发(Abul-Wafa,940—998)在980年左右编成了正切和余切函数表,每隔15度和10 度给出一个值。他还首次引进了正割和余割函数。

一行和阿尔-巴坦尼差不多沿着相同的途径编成正切和余切函数表。一行用太阳天顶距,阿尔-巴坦尼用太阳仰角,两者互为余角,所以他们两人的发现是相同的。而一行的正切函数表比阿尔-巴坦尼的余切函数表早近两百年,比阿尔-威发的正切表要早二百五十年。尽管一行的正切函数表只从0度到80度,误差也相应大一些,但它毕竟是世界上最早的正切函数表

《大衍历》的插值算法

今天常用的牛顿插值公式,其不等间距的形式比等间距的形式要复杂得多。天算史界有一种流行的看法,认为在中国古代,唐朝天文学家、数学家一行在其《大衍历》中发明了二次不等间距插值法,且一行还有意识地应用了三次差内插法近似公式。因此,一行在插值法方面的贡献备受中外天算史研究者的关注。

中国古代非线性插值法,是刘焯在其《皇极历》(604年)中考虑到太阳运动不均匀性为计算太阳行度改正值时首创的。有关中国古代插值法的算理研究的新成果表明,刘焯二次等间距插值法的造术原理建立在源于《九章算术》描述匀变速运动的模型基础之上,认为太阳每日的运行速度之值构成一等差数列。质言之,所用数学方法就是构造一等差数列并求其前若干项和。一行的插值法并没有人们所想象那样的推广意义。就插值算法本身,一行算法与刘焯算法实质完全相同。所不同的是,《皇极历》是在以平气为间隔的日躔表基础上插值。而《大衍历》是在以定气为间隔的日躔表上插值。

《太初历》以后,各历都以平分一回归年365.25 日为24 等份而得每节气长15.22 ,这样规定的二十四气称为“常气”,或叫“平气”。张子信指出“日行春分后则迟,秋分后则速”,于是刘焯造《皇极历》时体会到二十四气皆应有“定日”,他说:“春、秋分定日去冬至各八十八日有奇,去夏至各九十三日有奇。”但刘焯并没有搞清楚太阳速度的加减和季节的关系,他的日躔表是把秋分定日后到春分定日前平均分为12 段,每气14.54 日;春分定日后到秋分定日前也平分为12段,每气15.45 日。这显然不是“定气”。

一行则认为,太阳在一回归年365.2444 日中共行365.2444 度,每气行15.2185 度。冬至附近日行速度最急,故二气间所需运行时间最短,夏至附近日行速度最缓,故二气间的时间最长。实际上,《大衍历》这里首先提出了平分黄道为24等份,以太阳实际走完每个等份的时间长度为各节气长度,这就是通常所称的“定气”概念。一行提出正确的定气概念以后,在计算太阳改正时自然就以定气为插值间隔。至于插值法本身则完全是沿用刘焯的方法。

值得一提的是,刘焯在日躔表中规定太阳视运动一年内的变化规律是:冬至最快,冬至后渐慢,到立春时开始加快,春分时又达到最快,冬至到春分这段时间内日速比平均速度快。春分后太阳视运动的速度突变为最慢,之后逐渐加快,到立夏时又开始减慢,夏至达到最慢。春分到夏至时段内比平均速度慢。夏至以后的变化情况以夏至处为镜面对称。

《大衍历》盈缩分一年内的变化趋势将盈缩分在冬至附近最大,以后逐渐变小,夏至时最小,之后又逐渐增大。这相当于把冬至作为太阳视运动的近日点,夏至为远日点。这种认识是正确的,而《皇极历》的规定是不符合实际的。

说一行有意识地应用了三次差内插法的近似公式,是指《大衍历》的月亮极黄纬算法和五星中心差改正算法中所用的插值法。当对中国古代历法中的插值法的构造原理有了深入的认识之后,研究者进一步通过将这两处插值法的有关术文与刘焯二次等间距插值法的术文进行对比研究,证明两者在实质上也是相同的。

人们之所以会认为《大衍历》使用了三次差插值法,是因为《大衍历》在上述两种算法的插值法中都引入了“中差”概念的缘故。但实际上一行引入“中差”的原因在于,刘焯日躔表中的各气陟降率之差是相等的,而《大衍历》月亮极黄纬等数表相邻两栏的差一般不等。这种现象的出现,正是一行受命改历时作了大量天文观测的结果。若仍照搬《皇极历》的做法,就会出现同一点处有可能得到两个不同的值的现象,这就迫使一行必须在计算方法上进行一点细节上的调整。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注