[文章备份]三角函数表的做表方法与做表史

本文为知乎文章三角函数表的做表方法与做表史的镜像备份,由于WordPress与知乎所支持的markdown语法并不完全相同,原始文章可能会有更好的体验。


-1. 前言

本文的缘起是本人长久以来一直对第一份三角函数表是怎么计算的这一问题抱有好奇,简中互联网上似乎也没有什么文章能系统的讲讲这个问题。最近正好有时间便找了点资料拼凑拼凑,便有了本文。

本文在构思时,原本是想介绍整个三角学Trigonometry的发展历史,结果写着写着发现了两个问题。第一是写着写着,发现自己写的不是三角学的历史,而是做三角函数表的历史;第二是三角学太大了,勾股定理是三角学、三角函数是三角学、只要跟角度相关的东西都可以是三角学。对于业余玩家的我来说,实在难以面面俱到。

所以本文主要内容为三角函数表的做表史与做表法,着重介绍了古希腊与16世纪欧洲的做表法。本文肯定还是会包含大量数学史,那它作为三角学发展史的一个侧面也未尝不可。

结束前给自己打个广告,本文在创作时的暂名为:从级数开始的三角函数 (Ex 回归历史的三角函数),因为我以前写过关于三角函数的文章,本文起初打算是作为系列番外篇。但最后本文似乎成为了当人类文明毁灭时,快速重新做表的教程了。想来想去,咬咬牙,只能与前作切割了。

最后,文章中的内容质量与数量取决于我找到的文献质量与数量,作为业余玩家所写的业余文章,内容可能并不全面,也不丰富。可能会有很多疏漏,恳请各位读者能将本文的错误指出。

0. 古早的三角表

要说如今现存的最早的三角表,那应该就是《普林顿322》(Plimpton 322)了,这是一块由名为普林顿的商人从集市上购买到的泥板文书。

如果将该泥板上的文字转写成现代的文字,大概如下表:

(意义不是很明确的文字) 对角线 名称
□,15 1,59 2,49 1
□,□,58,14,56,15* 56,7 3,12,1* 2
□,□,41,15,33,45 1,16,41 1,50,49 3
□,□,29,32,52,16 3,31,49 5,9,1 4
48,54,1,40 1,5 1,37
47,6,41,40 5,19 8,1
43,11,56,28,26,40 38,11 59,1 7
41,33,59,3,45* 13,19 20,49 8
38,33,36,36 9,1* 12,49 9
35,10,2,28,27,24,26,40 1,22,41 2,16,1 10
33,45 45 1,15 11
29,21,54,2,15 27,59 48,49 12
27,3,45 7,12,1* 4,49 13
25,48,51,35,6,40 29,31 53,49 14
23,13,46,40 56 53*

表中的虚缺符是原泥板上的破损缺字,表中带星号的格子是可能有错误的部分。

这块泥板经鉴定是公元前1900年至公元前1600年左右的古巴比伦人使用楔形文字所刻写的。其中所刻的数组被认为是勾股数组毕达哥拉斯数组)。

古巴比伦人发明了60进位制,理所当然的,这表中的数字也全部都是60进位制的数字。例如第11行的第3列,将其换算成如今的10进制则是$$1\times60+15=75.$$

看表头能猜出个大概,第3列想表达的应该是直角三角形的斜边长,第2列是该直角三角形的一边。由勾股定理很容易能计算出第11行所代表的三角形的另一条直角边边长为:$$\sqrt{75^2-45^2}=60\$$
但表的第1列显得就有点意义不明了,其表头原本写的东西是关于对角线什么的。通过对这些数字计算,发现第一列的数字其实是斜边与另一条直角边的平方比。对于第11行而言,我们能计算出这个值在10进制下应该为:$$\csc^2\theta=\frac{75^2}{60^2}=1.5625\$$
这里我用了$$\csc^2$$来表示这个数,这是因为该值事实上就是现代所谓的某个角的余割的平方。

我们将这个值转写成60进制是:$$1.33,45$$,如果有小伙伴不知道该怎么转换的话...额...那你们就验证下这个答案吧,$$1\times60^0+33\times60^{-1}+45\times60^{-2}=1.5625\$$
可以看到60进制下的小数部分与表中的数字是完全吻合的。所以学者一般认为这列数字都省略了小数点前的1。

关于普林顿322的介绍差不多就到这里了,这份表其实真要论起来完全不能称为三角函数表,虽然表中事实上给出了余割平方的值,并且表格是按余割平方值递减排序的,但并不能说明他们是否已经建立三角形边与角之间的关系。但话又说回来了,这表中给出的勾股数组却是无可争辩的,都勾股数组了,跟三角形肯定是有密不可分的联系了,称其为三角表似乎也没有错误。

真正的三角表还是得动身前往遥远的爱琴海,不过在启程前,还是得提一句古巴比伦人的另一个重大成就,那就是他们将圆周等分成360份(度),每份又等分成60分,每分又等分成60秒。这种对圆周的划分方式不久后会传播至整个世界成为此后千百年间的标准。

1. 古希腊的三角表

古希腊是我们到达的第一站。古希腊人吸收古埃及、古两河流域民族的先进科技并加以发展,使得古希腊在「古典时代」(公元前5-前4世纪)不断出现如毕达哥拉斯(Pythagoras)、柏拉图(Plato)等哲人。古典时代的数学成就又由欧几里得(Euclid)、阿波罗尼斯(Apollonius)等人集大成。

有以上科技树的支撑,使得古希腊仿佛领先世界几个版本,在公元前2世纪就由希帕恰斯(Hipparkhos)研究弧与其所对弦之间的关系,点出了三角学Trigonometry)这一科技。

希帕恰斯将圆直径120等分,圆周360等分。对具有一定度数(份数)$$\alpha$$的圆弧$$\overset{\frown}{AB}$$,计算其相应的弦$$AB$$的值并编纂成表。希帕恰斯将这份表称之为「弦表」(Chords Table)。

图1

很容易能发现,希帕恰斯的弦值改写成现代数学语言其实就是
$$chord=60\times2\times\sin(\frac{\alpha}{2})\
\mathrm{crd}(\alpha)=120\cdot\sin(\frac{\alpha}{2})=2r\cdot\sin(\frac{\alpha}{2})\tag{1.0}$$

其中$$\alpha$$是弧所对的圆心角,$$r$$是弧所在圆半径。

希帕恰斯所计算出的弦表间隔为$$7\frac{1}{2}^\circ$$,一直至$$180^\circ$$,也就是共24组值,画风可能类似于这样:

弧(度) 弦长 弧(度) 弦长 弧(度) 弦长 弧(度) 弦长
7 50 54 52½ 53 4 29 97½ 90 13 15 142½ 113 37 54
15 15 39 57 60 60 105 95 12 9 150 115 54 40
22½ 23 24 39 67½ 66 40 7 112½ 99 46 35 157½ 117 41 40
30 31 3 30 75 73 3 5 120 103 55 23 165 118 58 25
37½ 38 34 22 82½ 79 7 18 127½ 107 37 30 172½ 119 44 35
45 45 55 19 90 84 51 10 135 110 51 57 180 120

弦表中,小数点前的值采用10进制,而小数点后的值继承古巴比伦人的60进制。

例如表中90°的弦长为84.51,10,其表示的10进制数是:$$\begin{align}
\mathrm{crd\,}90^\circ&=84\times10^0+51\times60^{-1}+10\times60^{-2}=84.852\dot7\
\sin45^\circ&\overset{\wedge}{=}\frac{\mathrm{crd}(90^\circ)}{120}=0.707106\dot48\dot1
\end{align
}\$$
最后,得说明的是,希帕恰斯的著作大多没有被流传下来。这份表参考托勒密的弦表、数值是现代计算机重新计算的。

1.1 托勒密的弦表

公元2世纪,此时希腊已经是罗马帝国的一部分了。距离希帕恰斯的时代也已过去了300余年,一位名叫克罗狄斯·托勒密(Claudius Ptolemaeus)的希腊人在前人累积下来的基础上继续发展,他编纂了《天文学大成》(又译《至大论》、《大汇编》、《数学汇编》等)(Almagest)(以下简称《大成》)一书详细描述了他眼中的世界。在这本书的第1卷第11章中记录了一份在那个时代最为精密的弦表——间隔为$$\frac{1}{2}^\circ$$的弦表。这也是上一节所摘录表的出处。

在弦表的前一章中,托勒密详细介绍了他的计算方法。


托勒密继承了希帕恰斯直径为120的圆,并将其分成360份。

接着他开始在圆内接特殊正多边形。

图2

参考图2,ADG是以D为圆心的圆的直径,BD垂直于AG。E是DG的中点,取Z使EZ=BE。

由《几何原本》(以下简称《原本》)第II卷第6命题(以下简称II-6)以及勾股定理(勾股定理为《原本》I-47)可以证得点D黄金分割ZG(《原本》中称为中外比),即DG:ZG=ZD:DG。

再《原本》XIII-9可以证明ZD为该圆内接正十边形的一边(即长度相等)。通过勾股定理计算出ZD的长度为37.4,55(小数部分为60进制,后面的也一样),这也是36°所对的弦长,即$$\mathrm{crd\,}36^\circ=37.4,55$$。

接着,由《原本》XIII-10可以证明ZB为该圆内接正五边形的一边,计算可得$$\mathrm{crd\,}72^\circ=70.32,3$$

利用圆内接正六边形可以直接得到$$\mathrm{crd\,}60^\circ=60$$(《原本》IV-15推论)。

内接正方形能计算出$$\mathrm{crd\,}90^\circ=84.51,10$$(《原本》IV-6),内接正三角形能计算出$$\mathrm{crd\,}120^\circ=103.55,23$$(《原本》XIII-12)。

图3

如图3,直径所对的圆周角是90°(《原本》III-31),所以很容易能得出:
$$\mathrm{crd}(\overset{\frown}{AB})^2+\mathrm{crd}(\overset{\frown}{BC})^2=120^2\
\mathrm{crd}(\overset{\frown}{AB})^2+\mathrm{crd}(180^\circ-\overset{\frown}{AB})^2=120^2\tag{1.1}$$
利用这个公式很容易就能得出某个角补角的弦长。例如可以计算出$$\mathrm{crd\,}144^\circ=114.7,37\ ,\mathrm{crd\,}108^\circ=97.45,6\$$
接着,托勒密证明了托勒密定理(当然,托勒密本人应该不会叫它托勒密定理):

图4

如图4,$$ABGD$$是内接于圆$$O$$的四边形,作$$\angle ABE=\angle DBG$$(《原本》I-23),同时$$\angle ABD=\angle EBG$$,因为同弦的圆周角相同的缘故$$\angle BDA=\angle BGA$$,故$$\triangle ABD\sim\triangle EBG$$。

所以有$$\frac{BG}{BD}=\frac{EG}{AD}\Rightarrow BG\cdot AD=BD\cdot EG\$$
继续,因为$$\angle ABE=\angle DBG$$以及$$\angle BAE=\angle BDG$$,故$$\triangle ABE\sim\triangle DBG$$。

所以有$$\frac{BA}{BD}=\frac{AE}{DG}\Rightarrow BA\cdot DG=BD\cdot AE\$$
对两乘积式相加,即有:
$$BG\cdot AD+BA\cdot DG=BD\cdot EG+BD\cdot AE\
BG\cdot AD+BA\cdot DG=BD\cdot AG\tag{1.2}$$

图5

如图5左边,根据托勒密定理(1.2),有$$AE\cdot BC +BE\cdot AC = CE\cdot AB\$$
将它改成弦长的形式,便会有
$$\begin{align}
\mathrm{crd}(\overset{\frown}{AE})\cdot\mathrm{crd}(180^\circ-\overset{\frown}{AB})+120\cdot\mathrm{crd}(\overset{\frown}{AB}-\overset{\frown}{AE})=\mathrm{crd}(180^\circ-\overset{\frown}{AE})\cdot \mathrm{crd}(\overset{\frown}{AB})\
120\cdot\mathrm{crd}(\overset{\frown}{AB}-\overset{\frown}{AE})=
\mathrm{crd}(\overset{\frown}{AB})\cdot\mathrm{crd}(180^\circ-\overset{\frown}{AE})-\mathrm{crd}(180^\circ-\overset{\frown}{AB})\cdot\mathrm{crd}(\overset{\frown}{AE})
\end{align
}\tag{1.3}$$
通过托勒密定理便可求出两个弧的差的弦长。例如我们令$$\overset{\frown}{AB}=72^\circ,\ \overset{\frown}{AE}=60^\circ$$即可算出$$\mathrm{crd\,}12^\circ=12.32,36$$

顺带着,根据图5右边,能计算出
$$120\cdot\mathrm{crd}(\overset{\frown}{BC})=
\mathrm{crd}(180^\circ-\overset{\frown}{AE})\cdot\mathrm{crd}(180^\circ-\overset{\frown}{BE})-\mathrm{crd}(\overset{\frown}{BE})\cdot\mathrm{crd}(\overset{\frown}{AE})\
\mathrm{crd}(\overset{\frown}{AE}+\overset{\frown}{BE})\cdot\mathrm{crd}(180^\circ-\overset{\frown}{AE})=
\mathrm{crd}(\overset{\frown}{AE})\cdot\mathrm{crd}(\overset{\frown}{BC})+120\cdot\mathrm{crd}(\overset{\frown}{BE})
\tag{1.4}$$
也就是两个弧的和的弦长。

接着就可以通过勾股定理不停的二分角从而计算出:$$\mathrm{crd\,}6^\circ=6.16,49, \ \mathrm{crd\,}3^\circ=3.8,28,\ \mathrm{crd\,}\frac{3}{2}^\circ=1.34,14,\ \mathrm{crd\,}\frac{3}{4}^\circ=0.47,7\$$
利用二分角的方式计算弦长,用代数的方法写出来的话是:
$$\begin{align}
\mathrm{crd\,}^2\frac{\theta}{2}&=2r^2-2r\sqrt{r^2-\frac{\mathrm{crd\,}^2\theta}{4}}\
\mathrm{crd\,}^2\frac{\theta}{2}&=2r^2-r\mathrm{\,crd\,}(180^\circ-\theta)
\end{align
}\tag{1.5}$$
其实到了这会理论上托勒密可以计算出从$$\frac{3}{4}^\circ$$至$$180^\circ$$间隔$$\frac{3}{4}^\circ$$的弦表了,密度相对于希帕恰斯的来说高到不知道哪里去了,可托勒密仍旧不满意,他想把精度提高至$$\frac{1}{2}^\circ$$


图6

如图6,假定$$\overset{\frown}{AB}<\overset{\frown}{BG}$$,联结弧所对的弦。

$$BD$$是$$\angle ABG$$的角平分线,联结$$AG$$作$$DZ$$垂直于$$AG$$,联结$$AD\, ,GD$$(因为角平分线加圆周角的缘故,$$AD=GD$$,故垂足$$Z$$平分$$AG$$,$$ZD$$平分$$\angle ADG$$)。$$AG$$与$$BD$$的交点为点$$E$$。

由《原本》VI-3与给定条件,得出$$AE<EG$$,故点$$E$$不与垂足$$Z$$重合。故$$AD>ED>ZD$$。

以点$$D$$为圆心$$ED$$为半径作圆弧$$\overset{\frown}{HE\theta}$$,与$$AD$$交于点$$H$$,与$$ZD$$交于延长线上点$$\theta$$。

故:$$S{扇形ED\theta}>S{三角EDZ}\,;S{三角ADE}>S{扇形HDE}$$,故:$$S{三角EDZ}:S{三角ADE}<S{扇形ED\theta}:S{扇形HDE}$$

又:$$S{扇形ED\theta}:S{扇形HDE}=\angle EDZ:\angle ADE$$,$$S{三角EDZ}:S{三角ADE}=EZ:AE$$(《原本》VI-1)

结合上下两者可以得出:$$EZ:AE<\angle EDZ:\angle ADE$$

通过合比定理可得:$$AZ:AE<\angle ADZ:\angle ADE$$

将分子翻倍,得出:$$AG:AE<\angle ADG:\angle ADE$$(因为$$ZD$$垂直平分$$AG$$,平分$$\angle ADG$$)

通过分比定理得出:$$EG:AE<\angle EDG:\angle ADE$$

根据《原本》VI-3,得$$GB:AB=EG:AE$$;以及$$\angle EDG:\angle ADE=\overset{\frown}{GB}:\overset{\frown}{AB}$$

故得出结论:$$GB:AB < \overset{\frown}{GB}:\overset{\frown}{AB}$$


我们重新表述下该定理吧:
$$\begin{align}
若\overset{\frown}{\alpha} < \overset{\frown}{\beta},则:\
\mathrm{crd\,}\beta:\mathrm{crd\,}\alpha< \overset{\frown}{\beta} : \overset{\frown}{\alpha}
\end{align
}\tag{1.6}$$
有了该不等式后令$$\alpha = \frac{3}{4}^\circ,\ \beta=1^\circ$$,计算得到$$\mathrm{crd\,}1^\circ<1.2,49$$
再令$$\alpha = 1^\circ,\ \beta=\frac{3}{2}^\circ$$,计算得到$$\mathrm{crd\,}1^\circ>1.2,49$$,近似取$$\mathrm{crd\,}1^\circ=1.2,49$$

从而继续二分计算出$$\mathrm{crd\,}\frac{1}{2}^\circ=0.31,25$$

由此便可计算出整张以$$\frac{1}{2}^\circ$$为间隔的弦表了。


在我参考的《大成》英译本中,$$\mathrm{crd\,}1^\circ$$的值是$$1.2,50$$。这个值因为是现代通过计算器重新计算的缘故,是更为精确的。本文中每次迭代所采用的是上次迭代得到的值,会累计截断误差、舍入误差等(不过本文中的平方与开方都是直接计算器的精确值)。

我迭代了10多次,算出来的数与真值间的差值不超过1/3600,完整算出这份弦表的话,精度可能是$$\pm\frac{1}{360}$$ ,已经比一些现代计算尺的精度还高了。(当然,前提得是平方开方的值是准的)

托勒密的方法是如此的优雅,它所需要的前置科技仅仅是一个勾股定理与一个开根(不考虑重复证明造轮子的情况),完全不依赖于其他的东西。简直就是当全面核战争爆发或是丧尸爆发抑或是世界被神秘光线石化了等需要重建人类文明的时候,作为重新计算三角函数表的最佳选择。

但是,也必须指出的是,古希腊时期并没有发展出「代数学」。这直接导致了在本章中出现的任何一条代数公式,在古希腊时期都是一幅图像。本文中,我并没有刻意区分「」与「」,这是因为古希腊时期已经明确知道相同圆心角所对的弧是相等的。但是在古希腊,古希腊人是完全借助「」,从而认识「」。他们不会说角AOB的弦长是60,他们只会说弧AB的弦长60。

2. 东方的三角表

公元5世纪西罗马灭亡,公元6世纪(529年)柏拉图学院(Academy)关闭。托勒密的遗产在欧洲逐渐变得模糊起来。

希腊的天文知识在公元1世纪便已经向东方传播。在公元6世纪左右,印度人阿耶波多(Aryabhata)在他的《阿耶波多历数书》(Aryabhatīya)(以下简称《历数书》)中计算了一份间隔为3°45''的「半弦表」(Half-chords Table

不知是否是因为印度人觉得希腊式的弦表用于求解三角形时总是要将角度加倍,还要将结果化为原来的一半过于繁琐。阿耶波多创新的用倍角所对半弦长构造数表。

图7

如图7,$$\angle CAD$$,希腊式的弦表所给出的弦长为$$CD$$的长度,而阿耶波多将其修改为倍角半弦$$CE$$的长度,这与现代的正弦已经很类似了。

其次阿耶波多选取的大圆也并非希腊式的半径$$60$$,而是半径$$3438$$,之所以取这个数字是因为印度人同样采用古巴比伦人的度分秒制,若想要将圆等分为$$360\times60$$份,则根据圆周长公式,圆的半径至少需要$$\frac{1}{2\pi}\times360\times60$$份,算出来的值差不多就是$$3438$$。

阿耶波多的半弦长改写成现代语言便是:
$$half_chord=3438\times\sin(\alpha)\
\mathrm{hacrd}(\alpha)=3438\cdot\sin(\alpha)=r\cdot\sin(\alpha)\tag{2.1}$$
我们来看看阿耶波多的半弦表长啥样吧:

I-10:以分为单位的(24个)半弦差分别为:225,224,222,219,215,210,205,199,191,183,174,164,154,143,131,119,106,93,79,65,51,37,22,7.

不得不说,印度人民似乎从古至今都挺抽象的,人托勒密给出的是表,而阿耶波多给出的,额...某种意义上说是差分表。

这份表的意思是,3°45'所对的半弦长是225,7°30'的半弦长是225+224=449,11°15'的半弦长是449+222=671,以此类推。

在《历数书》II-12记载了这份半弦表的计算方式。写成现代数学的形式便是:$$haf_diff_crd1=225\
haf_diff_crd
{n+1}=225-(225-haf_diff_crdn)-\frac{\sum{t=1}^nhaf_diff_crd_t}{225}\$$
同样抽象,并且书中并没有说明这个方法是怎么得出的。


在中世纪时期印度与阿拉伯的数学都有了长足的发展,印度在之后会出现两位婆什迦罗,公元7世纪的Bhāskara I与公元12世纪的Bhāskara II,他们都提出了高精度的正弦函数拟合公式。

而阿拉伯地区也同样人才辈出,公元10世纪的阿布·瓦法(Abul wefa)编制了10'间隔的正弦表,同时也编制余弦与正切表,提出了正割与余割的概念。

另外阿尔·卡西(Ghiyāth al-Dīn Jamshīd Masūd al-Kāshī)也是个值得一提的人,在公元15世纪左右他通过3°的正弦值,配合正弦的三倍角公式,通过迭代的方式计算1°的正弦值,该方法随着迭代次数的增加会收敛到精确值,而不是像托勒密那样的近似值。


碍于个人精力与能力有限,印度与阿拉伯的三角表实在无法详细展开,介绍阿布耶多主要是因为他的半弦已经与今天的正弦意义相当了,需要着重介绍一下。中世纪东方三角表的故事停在这里,不是因为没得写了,而是因为太有得写了。以至于我实在没有精力查找资料了。

最后还是得总结一下,就从做表这一角度而言,在中世纪早期的东方世界,表的质量其实是不及托勒密的那份弦表。虽然精度与密度都不及古希腊,但思想却比古希腊要先进,因为东方世界对于三角函数(当然,这个时代并没有这个词汇)的理解并不局限于几何,而是采用了代数的方法进行算数计算。而中世纪后期,阿拉伯人计算出了无论是精度还是密度都超过托勒密的三角表,并且未来还会将阿拉伯数字(印度数字)、10进位思想、0、小数、负数等先进数学思想传播向欧洲。

3. 文艺复兴时期的三角函数表

在乱七八糟的东方之行过后,我们跟随着阿拉伯商队来到欧洲。在15、16世纪时,欧洲有许许多多人都做过表,其中就包括日心说的哥白尼(Mikołaj Kopernik 1473-1543),韦达定理的韦达(François Viète,1540-1603)等等。

不过在做表前,还是得先讲讲托勒密的《大成》,托勒密其人在历史上可谓是非常默默无闻的一人,甚至很长一段时间内欧洲人都把他与那位古埃及(托勒密王朝)国王相混。《大成》一书在成书完成后没多久(指几个世纪)就被各位天文学家所忽视,并非因为内容差,而是因为内容太好以至于很多人都读不懂,只能将其束之高阁转而去读一些更为通俗的天文读本。

酒香不怕巷子深,虽然难读,但《大成》由于本身质量过硬仍旧受到了周边国家的青睐,不停地翻译,传播,再翻译,再传播。在12世纪时,欧洲人通过阿拉伯人的版本将《大成》译为拉丁文。

很显然,中世纪的译本同样没有引起多少波澜,这一情况将持续到文艺复兴时期。

15世纪,一小部分受新人文主义影响的科学家,他们偏好希腊式的事物,其中一位名叫波伊尔巴赫(George Peurbach 1423-1461)的年轻人便打算从希腊文重新将《大成》翻译为拉丁文。他没能完成这一工作,在翻译完前6卷后便去世了。

他的学生——天文学家雷格蒙塔努斯(Regiomontanus,1436-1476),继续了这一工作。在翻译过程中,雷格蒙塔努斯意识到当下亟需一本详细介绍平面三角球面三角的专著。《论各种三角形》(De Triangulis Omnimodis)就在这个背景下先于《大成》的新译本而诞生了。这是欧洲第一部完全论述三角学的课本。不过三角学这个名词还需100多年才能诞生。

在雷格蒙塔努斯的表中,他取$$600\,000$$单位与$$10\,000\,000$$单位半径的圆做表,采用印度人的倍角所对半弦这一定义做间隔1’的正弦表,后来的著作中也以$$100\,000$$单位半径做间隔1°的正切表。

这里提一句,在雷格蒙塔努斯之后,各位数学家所做的正弦表大多使用10的n次方作为大圆半径,采用印度的半弦定义。在这一思想下,所做出来的表实际上与现代的三角比三角函数没有区别了,故没有特殊情况的话将不对「半弦」、「半弦长」(弦长)与「正弦」(比值)做区分,正切、正割等名词也可都可按照现代数学的含义理解。

接下来是雷蒂库斯(Georg Joachim Rhaeticus 1514–1574),他与哥白尼一样,也是一位日心说的拥护者,同样也做过表,1551年,他出版了一份三角函数表(Canon Doctrinæ Triangulorum),这份三角函数表是欧洲历史上第一份完整包括现代6种三角函数的三角函数表。(以下以《1551数表》代称)

雷蒂库斯的表同样具有创新点,那便是将三角函数从圆上取了下来。

图8

如图8,在雷蒂库斯之前,人们说的是$$\overset{\frown}{BD}$$的正弦(半弦)为$$BE$$,而雷蒂库斯将其改为$$\angle BAE$$的正弦为$$BE$$。雷蒂库斯此举等同于将三角函数定义为三角比,而大圆$$AD$$反而是三角的副产物。
$$\sin\theta = \frac{对边}{斜边};\;\cos\theta = \frac{邻边}{斜边};\;\tan\theta = \frac{对边}{邻边}\tag{3.1}$$
雷蒂库斯继承前辈雷格蒙塔努斯,《1551数表》的大圆半径(分母)同样采用$$10^7$$。在该表中,正弦与余弦部分实则是从前辈雷格蒙塔努斯的表中摘录的。正割与余割部分是利用三角恒等式,用$$10^{14}$$除以相应的正弦长与余弦长得出的。正切同样也是利用三角恒等式得出的。
$$\tan\theta = \frac{\sin\theta}{\cos\theta};\;\cot\theta=\frac{1}{\tan\theta};\;\sec\theta=\frac{1}{\cos\theta};\;\csc\theta=\frac{1}{\sin\theta}\tag{3.2}$$
但余切并不是用上述的恒等式得出的,而是通过下述恒等式得出的:
$$\cot\theta = \sqrt{\csc^2\theta-r^2}\tag{3.3}$$
这份10'间隔,拥有全部6种三角函数的数表启发了同时代的韦达,韦达也做了一份含有6种三角函数的数表并在1579年出版,表格间隔为1',不过精度却不及雷蒂库斯的,韦达的数表采用的分母为$$10^5$$。

后来,雷蒂库斯还尝试以$$10^{10}$$作为分母计算间隔为10''的三角函数表,只可惜雷蒂库斯还没有计算完就去世了,这份表最终在1596年被后继者奥托(Lucius Valentinus Otho ~1550-1605)计算完成并出版(Opus Palatinum De Triangulis)(以下以《1596数表》代之)

不久之后,人们发现这份数表的大角度正切与正割存在错误。之后由另一位数学家先是计算出7°内20位精度正弦值,然后再据此计算出等效精度为小数点后11位的正切与正割作为修订,重新修订过的《1596数表》在1607年出版。

而这位数学家也在之后的1613年出版了《数学宝库》(Thesaurus mathematicus)一书,书中给出了分母为$$10^{15}$$,间隔为10''的高精度正弦表。(以下以《1613数表》代之)

计算出这份正弦表的大神是皮蒂斯楚斯(Bartholomaeus Pitiscus 1561-1613)这同样是一位伟大的三角学泰斗级人物,注意,到皮蒂斯楚斯后,三角学不再是后人追加的了,因为三角学Trigonometry一词便是他的著作《三角法》(Trigonometriae)一词演化而来。《三角法》一书全名很长,翻译过来可能是《三角法——关于解三角形的清晰而又简短的专著》本书有1608年与1612年出版的两个版本,内容差别并不大。

我们已经走马观花介绍了许多数学天文学家,但我们到现在为止都没有介绍他们是怎么计算表的。没错,我们马上就介绍这个时代的三角函数表的制法,不过,先让我们来一段间章,休息一下。

3.1 间章I:明清西方三角学的传入

我一直在想要不要写中国的内容,毕竟我们在三角函数这方面实在入场的太晚了。所以我就主要讲讲我们现代的几种三角函数名称由来吧。

西方三角学传入中国的时间是明末,由徐光启(1562-1633)等人,引荐欧洲传教士参与当时的历法改革的工作,也就是编纂《崇祯历书》。

德国传教士邓玉函(Johann Schreck 1576-1630)等人在修历期间所编纂的三角学书籍《大测》就是中国第一部详细介绍西方三角学的著作,其中大量名词也被沿用至今。

在该书「割圆篇」中详细介绍了四种割圆线,分别为「弦」或称「通弦」(「全弦」)(Subtensae)、「半弦」(Sinus)、「切线」(Tangentes)、「割线」(Secantes),除半弦外均与现代含义相同。

半弦分为「正半弦」(Sinus reetus)与「倒半弦」(Sinus Versus),而正半弦又分「前半弦」与「後半弦」又称「余弧弦」、「较弦」或「差弦」(Sinus Complementi)。

其中正半弦中的前半弦就是如今的「正弦」,是全弦之半角所对此全弦之半,或为二倍角所对全弦之半。後半弦是如今的「余弦」。在原书中就已经将前半弦简称为正弦,後半弦简称为余弦。那倒半弦是什么呢?我们接着看:

倒弦者,余弦与全数之较,本名为矢。

哦,原来倒半弦其实就是「矢」。

书中给出矢的定义为:

矢加余半弦,即半径。

$$正矢:\mathrm{versin\;}\theta=1-\cos\theta;\,余矢:\mathrm{coversin\;}\theta=1-\sin\theta\tag{3.3}$$

切与割就不过多讲解了,这俩是仿照弦从而去取定的「正切」、「余切」(Tangentes Complementi)、「正割」、「余割」(Secantes Complementi)的名词。

古人将弦、切、割、矢称之为八线,这个称呼直至民国还在使用。结合下面的「八线图」应该能有个非常直观的理解。

图9

《大测》之中对于三角学的介绍非常全面。之所以能如此全面,首要原因是邓玉函本人是个高材生,他在1596年硕士毕业后便游历欧洲,并于1600年担任了韦达的助手。1603年又去到意大利继续深造,结交了伽利略(Galileo Galilei 1564-1642)等一众学者。至1618年启程中国之时,邓玉函已经是一位精通数学、哲学、神学、法学和医学的复合型人才了。

邓玉函来华之时,他的团队携带了7千余本涵盖各个方面的书籍。在这7千多本书籍中,包含了皮蒂斯楚斯的1612年版《三角法》、斯蒂文(Simon Stevin 1548-1620)的《数学记录》(Mathematical Memoirs)等各种书籍。

没错,《大测》的底本便是《三角法》与《数学记录》,《大测》中关于做表方面最重要的是「表原篇」与「表法篇」。虽然表原篇是邓玉函自己编纂的,但考虑到邓玉函的个人经历,他对于做表方面的理解一定程度上也应该能代表这个时代的做表法。那我们就参考《大测》来介绍下这个时代的做表法。

4. 《大测》中的做表法

或许你会有点惊讶,或许你早已料到,其实在16世纪至17世纪这段时间,三角函数表的做表法与千年前托勒密的方法差别并不大。

同样是通过几何法,做出几个圆内接多边形,计算多边形的弦长即可知道其半弦长为多少了。托勒密采用了正三角形正方形正五边形正六边形正十边形这五种正多边形作为基本多边形。而一千多年后,我们仅仅只是在这五种图形中添加了正十五边形。这六种基本多边形称之为「六宗率」。

多边形 作图法 弦长计算法 对弧 全弦长 精确值
正六边形 《原本》IV-15 《原本》IV-15 60° 1 1
正四边形 《原本》IV-6 《原本》I-47 90° 1.414214... √2
正三角形 《原本》XIII-12 120° 1.732051... √3
正十边形 《原本》XIII-9,VI-30 36° 0.618034... (√5-1)/2
正五边形 《原本》IV-11 《原本》XIII-10 72° 1.175570... (√(10-2√5))/2
正十五边形 《原本》IV-16 24° 0.415823... 太长不写

表中的空格,是《原本》中没有相应的命题。例如圆内接正三角形的作图十分简单,简单到欧几里得都没有将其作为一个命题。而正十边形只需要在圆内做两个相隔180°的正五边形即可。

邓玉函对正十边形的边长计算,从本质上讲与托勒密的方法是一样的。如图10左,邓玉函利用《原本》VI-30将圆半径的黄金分割点点V做出,得出点V黄金分割了PQ,但如果想要严格证明UT=TQ,还是得用《原本》II-6。有了正十边形,也就可以通过《原本》XIII-10计算出正五边形的边长了。本质上与托勒密的方法并无不同。

图10

最后正十五边形,其实就是一道简单的计算题,如图10右通过勾股定理计算出AM与AN的长度,这样就能计算出OL的长度,接着用CM减去LN的长度,便得出了OC的长度,利用勾股定理便可求出正十五边形边长CL的长度了。

将六条弦的值取半,便是其半角所对的正弦值,这六个值被称为「六题总表」。


在此六宗法之后,还有「三要法」与「二简法

「要法一」的现代表述为
$$\sin^2\theta+\cos^2\theta=1\tag{4.2.1}$$
这就是勾股定理,与公式(1.1)等价,应该可以算作是三角函数中最重要的等式了。

「要法二」的现代表述为
$$\sin(2\theta)=2\sin\theta\cos\theta\tag{4.2.2}$$
这是正弦的二倍角公式,是托勒密所没有发现的新方法。

图11

如图11,直角什么的能直接看出来我就不过多讲解了,假定初始角为$$\angle CAD$$,则$$DG$$是该角的正弦,$$AG$$是该角的余弦,$$AD$$垂直平分弦$$CF$$,故$$\triangle DGA\cong\triangle CEA$$,所以有$$AG=AE$$。

同时,又能证明$$\triangle DGA\sim\triangle EHA$$,所以有$$\frac{EH}{DG}=\frac{AE}{AD}$$,由$$AG=AE$$,所以$$\frac{EH}{DG}=\frac{AG}{AD}$$。

由于$$AD$$垂直平分弦$$CF$$,所以$$\angle CAF = 2\angle CAD$$,$$\triangle CHE\cong\triangle EJF$$,$$FI$$是$$\angle CAF$$的正弦。

由此,$$FJ=EH=JI$$,$$FI=2\cdot EH$$。

如此根据上面的比例式,有:$$FI=2\cdot\frac{AG\cdot DG}{AD}\Rightarrow\sin(\angle CAF)=2\sin(\angle CAD)\cos(\angle CAD)\$$
也就是正弦的二倍角公式。

「要法三」的现代表述为:
$$(2\sin\frac{\theta}{2})^2=\sin^2\theta+\mathrm{versin}^2\,\theta=\sin^2\theta+(1-\cos\theta)^2\tag{4.2.3}$$
这是正弦的半角公式的一种表述。

这个公式别看着与现代写法:$$\sin^2\frac{\theta}{2}=\frac{1-\cos\theta}{2}$$差异巨大,但其实这个公式反而是最直观的。$$2\sin\frac{\theta}{2}$$是否看着有点熟悉,这其实就是单位圆内某个角所对的全弦长(见公式1.0)。同样用图11,我们假设给定角是$$\angle CAF$$,则$$\angle CAF$$的全弦自然是$$CF$$,显然,由勾股定理$$CF^2=FI^2+CI^2$$,$$FI$$是$$\angle CAF$$的正弦,$$CI$$是$$\angle CAF$$的正矢。要法三便得证了。

读到这里的读者应该都明白了吧,「矢」其实具有非常直观的几何意义与算数意义。但随着三角函数的分析化,以及计算器的诞生,矢在现代的用武之处也越来越少。直至今日,「八线」之二的「矢」,或许只剩下半正矢公式这个小众公式,默默传承着它的历史。

接下来是二简法:

「简法一」的现代表述为:
$$\sin(60^\circ+\theta)-\sin(60^\circ-\theta)=\sin\theta\tag{4.3.1}$$
这条公式在现代已经不怎么使用了,这条公式的主要作用是可以在做表时,简化60°以上的正弦计算。

图12

如图12,$$\angle CAD$$ 是$$60^\circ$$,$$EN$$是一条被$$AD$$垂直平分的弦,故$$\angle CAN$$与$$\angle CAE$$分别为$$60^\circ-\alpha$$与$$60^\circ+\alpha$$,其中$$\alpha$$为弧$$\overset{\frown}{DN}$$或弧$$\overset{\frown}{DE}$$所对的角度。

显然$$GN$$是$$\angle CAN$$的正弦,$$EH$$是$$\angle CAE$$的正弦,$$EI=EH-GN$$。

易证$$\triangle EKJ\cong \triangle NKJ\sim \triangle AHJ$$,所以$$\triangle EJN$$是等边三角形,又易证$$\triangle JIN\cong \triangle EIN$$,故$$EK=EI$$。

即$$EK=EH-GN$$,而$$EK$$正是弧$$\overset{\frown}{DE}$$所对的正弦,故命题得证。

「简法二」的现代表述为:
$$\sin(\alpha\pm\beta)=\sin\alpha\cdot\cos\beta\pm\cos\alpha\cdot\sin\beta\tag{4.3.2}$$
这就是「正弦和差角展开公式」,此法邓玉函并未给出证明,在例子末尾写道:

此题多罗某所用全弦,故说中云半弦,而图与数皆全弦。然全与全,半与半,比例等,则亦未有异也。

此处的「多罗某」显然指的是托勒密,应该是因为该命题的证明涉及到了托勒密定理,而涉及托勒密定理的其他书籍也还未译出,故直接略去。

为此我特地去翻了《三角法》II-37原文以及早期现代英文翻译,靠我那四级擦线过的英语水平,连蒙带猜能大致看懂皮蒂斯楚斯的意思。

皮蒂斯楚斯对该定理的证明与托勒密的证明方式类似但又不同。并且在该定理的证明过程中,所有被称为正弦的线段,实际指的却是全弦,这就是为什么邓玉函说「故说中云半弦,而图与数皆全弦」。

我们主要看差异比较大的正弦和角展开公式:

图13

如图13左,弧$$\overset{\frown}{AC}$$所对的全弦为待求全弦(原文中为正弦Sinus,这里以实际为准称为全弦),$$\overset{\frown}{AB}=2\alpha$$,$$\overset{\frown}{BC}=2\beta$$均为已知全弦,则$$\overset{\frown}{AD}$$为$$2\alpha$$的补全弦,$$\overset{\frown}{CD}$$为$$2\beta$$的补全弦。则由托勒密定理,有
$$BC\cdot AD+AB\cdot CD=BD\cdot AC\
\mathrm{crd\,}(2\beta)\cdot \mathrm{crd\,}(180^\circ-2\alpha)+\mathrm{crd\,}(2\alpha)\cdot \mathrm{crd\,}(180^\circ-2\beta)=2r\cdot \mathrm{crd\,}(2\alpha+2\beta)\tag{4.3.2.1}$$
《三角术》中的证明到此就为止了,我们可以继续导出正弦形式。根据公式(1.0)的全弦函数定义,有
$$2r\sin\beta\cdot 2r\sin\frac{180^\circ-2\alpha}{2}+2r\sin\alpha\cdot2r\sin\frac{180^\circ-2\beta}{2}=2r\cdot 2r\sin\frac{2\alpha+2\beta}{2}\
\sin\alpha\cdot\cos\beta+\cos\alpha\cdot\sin\beta=\sin(\alpha+\beta)\tag{4.3.2a}$$
全弦与半弦间可以视为是成比例的,这就是为什么邓玉函说「然全与全,半与半,比例等,则亦未有异也」。

图13右边一半即是皮蒂斯楚斯证明正弦差的图,方法一样且与托勒密的类似,这里就不再赘述了。

另外我想在此说一下,从皮蒂斯楚斯的证明上能看出来,皮蒂斯楚斯是将两个正弦展开公式作为一个统一的公式进行表述,进行证明。而托勒密却完全没有将两者统一的意向,托勒密的两个正弦展开公式似乎是完全独立无关的,这或许也是因为托勒密时代没有代数的原因,无法发现几何背后的代数关系所导致的。


在拥有了六宗三要后进行便可进行更为细致的做表了。

利用初始算出的6个基本正弦值,可以通过二分(要法三)的方式计算出其他派生的正弦值,例如通过正15边形的12°正弦值(24°全弦之半),可以二分出如下正弦值:

12° 1°30' 0°45'
78° 84° 87° 88°30' 89°15'
42° 21° 10°30' 5°15'
43°30' 21°45'
44°15'
48° 24° 45°45' 84°45'
69° 34°30' 17°15'

这只是12°的派生角度的一部分,我们还有其他5个初始角度的正弦值,可以继续派生出其他的角度。

利用派生角度与0°45'的正弦值,可以通过翻倍(要法二)与和角(简法二)的方式计算出间隔为0°45'的正弦表。

到此为止其实与托勒密的方法完全一样,但数学发展了一千多年总不可能还在吃老本吧。接下去的做法就高级了,为求出1'的正弦值,先利用45'的值,计算出22'30''的正弦值,结果是$$65449$$(以$$10^7$$为分母),再二分,计算出11'45''的正弦值为:$$32724.7$$(原文是$$32724.5$$),这个值十分接近于$$65449$$的一半。

盖繇初度之弦、与弧切近,畧似相合为一线故也。

这是邓玉函的解释,人们在很早时就发现$$\sin x$$在角度很小的时候是近似线性增长的。

邓玉函使用了这一特性,利用同比例法计算出10'的正弦值是$$29089$$(真值为$$29088.78...$$)1'的正弦值是$$2909$$(真值为$$2908.882...$$)

这样即可做出密度更大的正弦表了。


书中继续介绍了切线与割线的算法,其实就是公式(3.2)中的内容。

另外书中还给出了另一种求正割的方式:
$$\sec\theta = \tan\theta+\tan\frac{90^\circ-\theta}{2}\tag{4.4}$$
这个公式是引自《数学记录》,同样具有很强的几何直观,各位画张图就能明白为什么。


最后《大测》中给出了一种校验表值是否正确的方法,称为「考表法」,方法是计算表中数值的二阶差分。从现代的角度看,这是因为可导函数在一小段间隔内可以被多项式所逼近(拟合),而n次多项式的n阶差分是常数,n+1阶差分是0(不了解差分的话可以用求导代替差分)。在精度$$10^7$$,密度10'的情况下,正弦函数在小范围内可以被2次多项式很好的逼近。表现在高阶差分上就是二阶差分非常接近。

举个例子,查表得35°40'的正弦为$$5830687$$,我怀疑这个数值有问题,那就通过这个值附近的几个值,计算其二阶差分。

角度 正弦值 一阶差分 二阶差分
35°20' 5783323 23707 -50
35°30' 5807030 23657 -50
35°40' 5830687 23607 -48
35°50' 5854294 23559
36° 5877853

如上表,二阶差分非常接近,所以我们可以认为35°40'的正弦值是正确的。如果我们将表抄错了,将$$5830687$$抄成了$$5830678$$,则最后算出的二阶差分值为$$-59,\ -32.\ -57$$,显然差别过大,说明有数值抄错了。

4.1 间章II:三等分角难题

《大测》中的做表法,虽然底本是《三角法》,但也仅仅只是说知识来源是《三角法》。它像是一本在那个时代下更适合中国宝宝体质的通用入门教程。在高精度下,利用11'45''的正弦,近似线性的方式计算更小的角度误差是很大的。更高精度的数表一定使用了其他方法。

对于小角度的正弦值计算困难,一个重要原因是无法通过尺规三等分角,这直接导致了人们难以计算出1°,1',1''的精确值。而人们又难接受以一个很丑的可二分角度作为基角度,从而计算出其他正弦值。16世纪末,韦达通过推导出的三倍角公式,变形后进行迭代计算,计算出了1°的正弦值,这与200年前阿拉伯数学家阿尔·卡西的方法是类似的。

而皮蒂斯楚斯则运用了其他方法计算出了更小的角度。我们先简要看下《三角法》中的一些命题吧。

《三角法》条款(命题) 对应《大测》命题 条款内容
II-30 要法一 勾股定理
II-31 要法二 二倍角公式
II-32 全弦三倍角公式
II-33 全弦五倍角公式
II-34 要法三 半角公式
II-35 反求三倍角全弦
II-36 反求五倍角全弦
II-37 简法二 全弦的和差角公式
II-38 补全弦的和差角公式
II-39 高精度正弦值表
II-40 简法一 60°角化简公式

皮蒂斯楚斯在《三角术》第二卷第31、32、33命题分别证明了:
$$\begin{align}
r^2\mathrm{crd\;}^22\alpha&=4r^2\mathrm{crd\;}^2\alpha-\mathrm{crd\;}^4\alpha\tag{4.6}\
r^2\mathrm{crd\;}3\alpha&=3r^2\mathrm{crd\;}\alpha-\mathrm{crd\;}^3\alpha\tag{4.7}\
r^4\mathrm{crd\;}5\alpha&=5r^4\mathrm{crd\;}\alpha-5r^2\mathrm{crd\;}^3\alpha+\mathrm{crd\;}^5\alpha\tag{4.8}
\end{align
}$$
这三条分别是全弦的二倍角、三倍角、五倍角公式,其中二倍角公式同时证明了正弦形式与全弦形式,另外两条只证明了全弦形式(很容易能导出正弦形式)。全弦形式的三倍角与五倍角公式证明起来非常简单,画张图,利用托勒密定理即可证明,这里就不再证明了。另外还需说下,在原书中,由于皮蒂斯楚斯的计算实质是采用大圆为1的小数思想计算(即只取计算结果的前n位),公式中的半径r为本人出于严谨而添加的。

在35,36命题中,皮蒂斯楚斯反求三倍角与五倍角的方式,并不是类似于韦达的迭代,而是「线性插值」。

从现代的角度来说,线性插值之所以合理同样是因为可导函数在一小段间隔内可以被多项式拟合,只要间隔取得足够小,函数总能被1次多项式拟合。

举例,已知$$\mathrm{crd\;}30^\circ=5176381$$,反求$$\mathrm{crd\;}10^\circ=?$$

首先,确定初值,三等分$$5176381$$,得$$1725460$$,那我们连续取三个点,分别为$$173000,\ 174000,\ 175000$$,用这三条弦长,配合三倍角公式,计算三倍角弦长分别为$$5138223,\ 5167320,\ 5196406$$,我们计算这三条弦长与30°弦长的差,分别为$$38158,\ 9061,\ -20025$$。我们取接近30°弦长且两者间距较小的$$5138223,\ 5167320$$,线性插值,有:$$\frac{1740000-1730000}{5167320-5138223}=\frac{x-1730000}{5176381-5138223}\$$
计算结果为$$1743114.067$$(真值为$$1743114.855$$)。这样也就算出了$$\mathrm{crd\;}10^\circ$$的值,取半后便是$$\sin 5^\circ$$的值。

反求五倍角也是同样的方法。


利用这个方法,通过调整选取点的间隔,可以计算出精度非常高的小角度正弦值,皮蒂斯楚斯在《三角法》II-39列出了他计算的12个精度为$$10^{25}$$的正弦值。

角度 正弦值
30° 50000 00000 00000 00000 00000
15° 25881 90451 02520 76234 88988
08715 57427 47658 17355 80642
01745 24064 37283 51281 94189
30' 00872 65354 98373 93496 48884
10' 00290 88779 84361 93442 43461
5' 00145 44405 30541 53507 62745
1' 00029 08882 04563 42459 63743
30'' 00014 54441 03820 07367 14774
10'' 00004 84813 68091 96148 35411
5'' 00002 42406 84053 10278 52015
1'' 00000 48481 36811 07636 78199

最后稍微总结一下吧,16世纪末至17世纪初的三角表做表法从根源上继承自托勒密的方法。但无论是从计算方法上还是计算思想上,都有了长足的进步。

例如发现正弦在角度很小的时候近似是线性增长的,又如采用了线性插值的思想,这些思想都是数学史上伟大的进步,并都将在下一个时代被深入的思考。

最后,还是得吐槽点什么东西,这个时代的代数符号非常混乱,可谓是一个人一种表示法。而且这个时代的代数思想也正处于萌芽期,对于代数的表述仍停留在语言上(例如皮蒂斯楚斯对线性插值的表述花了几大段,我还完全没看懂他说了啥)。自然的此时的三角学也仍旧与几何强绑定。

不管如何,时代总是在发展的,数学也是。正是有了这个时代的铺垫,我们才能进入下一个时代——

5. 微积分后的三角函数表

[The 'Thesaurus Mathematicus'], the 'Opus Palatinum,'

and Vlacq's 'Arithmetica Logarithmica,' 1628

and 'Trigonometria Artificialis,' 1633,

may be said to be the four fundamental tables of the mathematical sciences.

——Glaisher, 1873

上面引用的这段话是英国数学家、天文学家格莱舍(Glaisher,James Whitbread Lee 1848-1928)在 Report of the committee on mathematical tables. 中所写下的一段话,夸赞了四份数表的价值。其中前两份表即是本文所谈到的《1613数表》与《1596数表》。

后面两份是常用对数表三角对数表,关于三角对数表,它有个更为人熟知的评价:

[said about Napier's logarithms:]

...by shortening the labours doubled the life of the astronomer.

[谈及奈皮尔的对数:]

...用缩短计算时间延长了天文学家的寿命。

——皮埃尔·西蒙·拉普拉斯 Pierre-Simon marquis de Laplace 1749-1827

要知道,这四份数表直至20世纪初都是欧洲学界无与伦比的权威。但也正是如此,这个时代已经有了前人留下的高精度数表,所以对做表方面的兴趣并不大。

不过微积分的出现彻底改变了数学的面貌。让三角学也从「几何」转向了「分析」。

如此,「三角学」(Trigonometry)也拥有了更广泛的含义,例如「平面三角学」已经不仅仅局限于研究平面三角,而是囊括了与平面角有关的所有代数研究,不管其是否真的构成一个三角。

另外,还有一个值得一提的是随着17世纪小数概念在欧洲的推广,这个时代的三角函数已经完全是现代的三角函数了,$$\sin$$不再是一个具体的长度,而是一个介于-1至1之间的数。

我们接下去的内容将会全部引自1882年托德亨特(Isaac Todhunter 1820-1884)的新版《平面三角学》(Plane Trigonometry for the Use of Colleges and Schools)。托德亨特是一位英国数学家,他的主要成就是数学史以及教科书。没错,托德亨特的主业似乎是写数学教科书,他的一生中共出版了18本各不相同的数学教科书。


首先是「弧度制」,沿用了1000多年的度分秒制在微积分诞生后的地位在分析学家眼里变得越来越低了。原因有很多,例如,如果采用度分制的话,那$$\sin'x=\cos x$$的优雅结果将荡然无存,从而变为$$\sin'x^\circ=\frac{\pi}{180}\cos x^\circ$$,在度分制下正弦函数的级数展开也将变得一团糟,而级数又是微积分领域最重要的分支。

为了微积分结果的简洁,我们人为规定将圆周等分成$$2\pi$$份。这样便会有如下转换式:
$$radian=\frac{\theta^\circ\pi}{180^\circ},\ degree=\frac{180^\circ x}{\pi}\tag{5.1}$$
由此,单位圆内某个角度所对的弧长,即是该角度在弧度制下的值。

接下去我们要证明一个不等式,该不等式需要一个不太直观的前提假设与一个欧氏几何定理,分别为

  1. 当圆的内接多边形边数趋于无穷时,多边形的周长趋于外接圆的周长。

  2. 任意三角形的任意两边之和大于第三边。《原本》I-20

图14

我们要证明图14A中,$$DB_1<\overset{\frown}{DE}<DF$$,即证明$$DC<\overset{\frown}{DEC}<DF+FC$$,即证明圆周上的弦长小于所对的弧长小于弦所对的切线段之和。

如图中B,我们假设对圆弧内接多边形,再对顶点两两连接,由三角形任意两边之和大于第三边,有$$GK+KJ>GJ,\ JL+LH>JH$$,再有$$GJ+JH>GH$$,当圆弧的内接多边形的边数趋于无穷时,其边长之和趋于圆弧周长,而同样依据两边和大于第三边,多边形边长之和会大于$$GH$$,即证明了弧长大于弦长。

另外,如图中C,同样对圆弧内接多边形,并令$$UQ//VR//WS//ZT//PN,\ QV//RW//SZ//TA_1//MP$$,这样$$MU+UQ+VQ+VR+RW+WS+SZ+ZT+TA_1+A_1N=MP+PN$$。并且,由于两边和大于第三边,有$$MU+UQ>MQ,\ QV+VR>QP,\ ...$$所以,有$$MP+PN>$$多边形边长之和,边数趋于无穷时,即是弧长小于切线段之和。

由此,便证明了圆周上的弦长小于所对的弧长小于弦所对的切线段之和,即证明了$$DB1<\overset{\frown}{DE}<DF$$,而同时,这三段长度分别为弧所对的正弦、弧、弧所对的正切,即:
$$\sin x < x < \tan x,\ x\in(0,\frac{\pi}{2})\tag{5.2}$$
这个不等式非常重要,我们只需要令该不等式同除以$$\sin x$$,便会得到$$1<\frac{x}{\sin x}<\frac{1}{\cos x}$$,对不等式两边同时求极限,由「夹逼定理」可以得到这么个重要极限:
$$\lim
{x\to0}\frac{\sin x}{x}=1\tag{5.3.1}$$
这个结论我们在前文中其实已经不止一次使用到过了只是那时还没有严格的极限表述。而由这个极限式又可导出另一个极限:
$$\lim_{x\to\infty}x\sin \frac{a}{x}=a\tag{5.3.2}$$
好,接下去就是数学家们的保留节目,「缩放」。以下的内容默认函数定义域为$$(0,\frac{\pi}{2})$$。

由二倍角公式(4.2.2),$$\sin x=2\sin\frac{x}{2}\cos\frac{x}{2}$$,由公式(5.2)有$$\frac{x}{2}<\tan\frac{x}{2}$$,所以有$$\sin\frac{x}{2}>\frac{x}{2}\cos\frac{x}{2}$$,

因此,有$$\sin x>2\frac{x}{2}\cos^2\frac{x}{2}=x(1-\sin^2\frac{x}{2})$$,又$$1-\sin^2\frac{x}{2}>1-(\frac{x}{2})^2$$,所以有:
$$\begin{align}
x(1-\sin^2\frac{x}{2})&>x(1-\frac{x^2}{4})<\sin x\
x-\frac{x^3}{4}&<\sin x<x
\end{align
}\tag{5.4}$$
注意到利用三倍角公式(4.7)与公式(5.3.2),我们能得出如下结论:
$$\begin{align}
\sin x &= 3^n\sin\frac{x}{3^n}-4(\sin^3\frac{x}{3}+3\sin^3\frac{x}{3^2}+...+3^{n-1}\sin^3\frac{x}{3^n})\
&> 3^n\sin\frac{x}{3^n}-4[(\frac{x}{3})^3+3(\frac{x}{3^2})^3+...+3^{n-1}(\frac{x}{3^n})^3]\
\sin x &> x-\frac{x^3}{6}
\end{align
}\tag{5.5}$$
这是正弦函数一个更紧的下界,如果熟悉$$\sin x$$的泰勒展开的话,就会明白这其实就是展开导第二项。


有了以上新时代的理论支撑,我们终于可以开始算表了。算表的首要难题是小角度正弦值。我们可以利用公式(5.4),例如我们来近似计算$$\sin 10''$$。

利用公式(5.1)可以计算出$$10''=\frac{\pi}{64800}$$,这样就可以计算出:
$$\frac{16796160000-\pi^3}{1088391168000000}<\sin 10''<\frac{\pi}{64800}\tag{5.6.1}$$
好像有哪里不太对,式子是列出来了,但问题是圆周率$$\pi$$是多少呢?

别问,问就是石头缝里蹦出来的(雾)。关于圆周率其实又是另一个故事了,圆周率$$\pi$$在16世纪就已经被荷兰数学家鲁道夫(Ludolph van Ceulen 1540-1610)计算至小数点后35位,采用的方法「割圆术」从本质上讲与计算一个非常小角度的正弦没有区别。后来因数论的发展,计算方法的进步,圆周率也愈发算的精确,在托德亨特的时代,或许圆周率确实可以算是从石头缝里蹦出来的。

采用圆周率$$\pi = 3.141592653589793$$,则计算出:
$$0.000048481368078<\sin10''<0.000048481368110\tag{5.6.2}$$
可以精确至小数点后12位。

基于公式(5.3.1),正弦在小角度时可视为线性的,可以近似得到$$\sin1''=0.0000048481368$$

另外,由正弦的和差展开公式(4.3.2),能得出正弦的和差化积公式:
$$\sin\alpha+\sin\beta=2\sin\frac{\alpha+\beta}{2}\cos\frac{\alpha-\beta}{2}\
\sin\alpha-\sin\beta=2\cos\frac{\alpha+\beta}{2}\sin\frac{\alpha-\beta}{2}
\tag{5.7}$$
取$$\alpha=(n+1)A,\ \beta=(n-1)A$$,则能得出公式
$$\sin((n+1)A)+\sin((n-1)A)=2\sin(nA)\cos A\tag{5.8}$$
令A=10'',则可利用这个公式计算出10''的所有整数倍的正弦值。

同样是和差化积公式,分别取$$\alpha=45^\circ+A,\ \beta=45^\circ - A$$与$$\alpha=60^\circ+A,\ \beta=60^\circ-A$$,可以得出公式
$$\sin(45^\circ+A)-\sin(45^\circ-A)=2\cos 45^\circ\sin A=\sqrt{2}\sin A\
\sin(60^\circ+A)-\sin(60^\circ-A)=2\cos 60^\circ\sin A=\sin A\tag{5.9}$$
利用这两条公式,可以将正弦计算至45°与60°后减少计算量。其中第二条公式就是公式(4.3.1)

同样利用正切的和差化积公式(本文不再证明),可以得出:
$$\tan(45^\circ+A)-\tan(45^\circ-A)=2\tan 2A\tag{5.10}$$
利用这个公式可以在计算出45°的正切后减少计算量。

利用三角恒等式(3.1、3.2)与勾股定理可以得出:
$$\csc A=\frac{1}{2}(\tan\frac{A}{2}+\cot\frac{A}{2})\tag{5.11}$$
利用这个公式可以在计算出正切后直接计算余割,从而减少计算量。

最后,同样是通过和差化积公式(5.7),分别取$$\alpha=72^\circ+A,\ \beta=72^\circ -A$$与$$\alpha=36^\circ+A,\ \beta=36^\circ - A$$,能得到:
$$\sin(72^\circ+A)-\sin(72^\circ-A)=2\cos 72^\circ\sin A=2\sin 18^\circ\sin A\
\sin(36^\circ+A)-\sin(36^\circ-A)=2\cos 36^\circ\sin A=2\sin 54^\circ\sin A\tag{5.12}$$
$$\sin 18^\circ$$我们在第四章时已经计算出来,是$$\frac{\sqrt 5-1}{4}$$,$$\sin 54^\circ$$可以通过余弦的二倍角公式计算得出(本文不再证明余弦的二倍角公式):$$\sin 54^\circ=\cos 36^\circ=\cos(2\times 18^\circ)=1-2\sin^2 18^\circ=\frac{1+\sqrt 5}{4}\$$
将(5.12)两式相加,可以得到:
$$\sin A + \sin(72^\circ+A)-\sin(72^\circ-A)=\sin(36^\circ+A)-\sin(36^\circ-A)\tag{5.13}$$
这个公式可以用于验证我们所计算的值是否满足所需精度。


以上便是托德亨特所介绍的算表的方式。从思想上来说,与前辈们的算表方法一样,都是先通过计算小角度,然后通过小角度计算大角度,但从方法上来说,与前辈们是完全不一样的托德亨特使用了很多三角恒等式,使得原本所需的大量平方开方运算都被简化为乘法加法运算。这就是代数学的魅力,是前辈们通过几何所达不到的高度。

在托德亨特所处的时代,由于数学理论的完善,数表的完善,以及自动计算设备的完善,托德亨特对于无理常数的使用是非常随意的。书中关于校验数值的方法,还提了与理论值做对比,托德亨特特地计算出了9°、15°、18°、30°、36°、45°、54°、60°、72°、75°、81°的理论值。在书中,他多次提到 easily be calculated to any degree of approximation 容易计算至任意位的近似值。怎么说呢,16世纪的前辈们听到这句话不知会有什么感想。

6. 终章:电子计算机的时代

我想,在这个世界上,应该有一份在前电子计算机时代,由人力大规模计算的最后一份数学表。但我并不知道这最后一份人力数学表是由哪个国家,哪个团队所编纂的。

现在电子计算机的时代,对于三角函数的计算可谓是非常方便,有最基础款的泰勒展开暴力计算,也有在低算力的处理器下使用CRODIC算法。

任何一个理工科人士都应该会感叹现在正处于基础算力无限的好时代,不需要光是计算就得打半页草稿,不需要动不动就翻书查表,不需要使用目力即精度对数计算尺。

但,也不是电子计算机发明后基础算力就立马噌噌往上涨的,小型电子计算器出现后的很长一段时间内数学表仍旧是非常必要的。本人家中有一本1987年出版的机械手册,其中有一份5位三角函数表与4位常用对数表。甚至有点好笑的是,书中前一页还是数表,后一页便介绍起了卡西欧fx-80使用方法。

本文中的一些比较小的计算与验算是我使用卡西欧fx-991cn所计算的,对于日常计算而言,991绝对是绰绰有余了。一些比较大的数字,或位数比较多的小数,我是将其转换为整数用Python计算的,Python的整型数计算可以非常非常长。另外我想说个小插曲,我在使用Python自带的math库检验16世纪的三角函数表时,发现Python所算出来的$$\tan 89^\circ59'50''$$的精度只能达到小数点后第6位,精度不如修正后的《1596数表》中给出的数值。这应该是源于浮点数的精度丢失以及选用的$$\pi$$精度不足所导致的。

最后本文差不多就这样了,内容我也不知道算不算详细,可能有遗漏,可能有错误。但至少算是为我自己解惑了吧,我自己也一直好奇第一份三角函数表是怎么制作的,第一份对数表是怎么制作的。我相信一定也会有像我一样的好奇宝宝会对这个问题发问,这是一份回答。如果你是凭自己好奇所找到本文的,希望你能继续保持对世界的好奇。

毕竟,对基础的发问就是对世界本源的探寻。

∞. 参考资料

  1. 杜雨珊.三角学历史研究[D].辽宁师范大学,2009.
  2. 莫里斯·克莱因.古今数学思想[M].上海科学技术出版社,2014.

这两本东西可以说是本文最重要的参考资料了。

  1. 王辉.托勒密体系之数学基础研究[D].西北大学,2001.
  2. Ptolemy, G.J.Toomer. Ptolemy’s Almagest[M]. Gerald Duck worth & Co. Ltd,1984.

《天文学大成》这本东西我找了一圈居然没找到中文翻译。有点难以置信了。

  1. Aryabhata, Walter Eugene Clark. The Aryabhatīya of Aryabhata[M].The University of Chicago Press.1930.

《阿耶波多历数书》的英文翻译。

  1. 于清华.雷格蒙塔努斯的《论各种三角形》研究[D].辽宁师范大学,2018.
  2. Georg Joachim Rhaeticus. Canon Doctrinæ Triangulorum[M].1551.
  3. Denis Roegel. A reconstruction of the tables of Rheticus’ Canon doctrinæ triangulorum(1551)[OL].2011.

上面这两份是雷蒂库斯1551年的数表,上面的是拉丁文原书,下面的是现代的数字化重建,显然,我是看不懂拉丁文的,找原书籍只是为了对照,大致看看过去的表与现代人重建的有什么区别。主要靠的是现代重建的这份,里面大致介绍了作者生平,表的影响力,做表的方法等等等等。是非常主要的资料来源。下面的几份表也同样,一份拉丁文原书籍,一份现代数字化重建。

  1. Georg Joachim Rhaeticus, Lucius Valentinus Otho. Opus Palatinum De Triangulis[M].1596.
  2. Denis Roegel. A reconstruction of the tables of Rheticus’ Opus Palatinum (1596)[OL].2010.

这两份是雷蒂库斯与奥托的1596年数表,这本书其实只有一半是数表另外半本似乎是在介绍三角学方法与做表法,然而是拉丁文,我看不懂...

  1. Bartholomaeus Pitiscus. Thesaurus mathematicus[M].1613.
  2. Denis Roegel. A reconstruction of the tables of Pitiscus’ Thesaurus mathematicus (1613)[OL].2010.

讲真,我本以为这本书里讲的东西是数学方法,毕竟名字叫数学宝库,结果一看,这书里基本全是正弦函数表。我本以为是我下的只是其中一卷,直到我看到了副标题是CANON SINUUM AD DECADES SCRUPULORUM SECUNDORUM,我虽然看不懂拉丁文,但前面我已经接触了这么多数表,看到CANON就知道这真的是份数表...

  1. 鄧玉函等,董傑.《大測》校釋 附《割圓八缐表》[M].上海交通大學出版社,2014.
  2. 白尚恕.介紹我国第一部三角学——“大測”[J].数学通报,1963.
  3. Bartholomaeus Pitiscus. Trigonometriae[M].1612.
  4. Bartholomaeus Pitiscus, Ra.Handson. Trigonometrie[M].1630.

这几本说实话得好好说说,前面两本是《大测》相关的文献,本文中有很多背景故事都是从这些书籍的前言中找到的。关于《大测》条目与《三角法》条目的对照也是从这本《校释大测》前言中找的。然后是后面两本《三角法》,第一本是拉丁文原文,第二本是1630年出版的,用早期现代英语翻译的版本。我一开始只找到了拉丁文版本,就在那靠我四级英语水平硬着头皮啃,嘿,还别说,真靠我的密码学知识大概看懂了几个命题。之后又仔细找了找,找到了英文翻译,虽然是早期现代英语,但其实跟现在的英语差别不大,例如u跟v还没区分,印刷的s跟f很容易混,这些都是小问题。靠着这份英文译本,我才勉勉强强写出了第4章的间章。

  1. Isaac Todhunter. Plane Trigonometry[M].Macmillan And Co.1882.

讲真,这份19世纪的平面三角学教材写的真心不错,难度适中,但知识点讲的很清晰,不过也可能是因为我本来就了解了这方面,所以觉得不错。缺点也有,就是是图比较少,哦还有就是,它是英文的...

  1. LOCOMAT

最后安利下这个网站,我找到的数表电子化重建都是这个网站里找的。这个网站的拥有者似乎就是Denis Roegel,他似乎是一个热衷于数学历史的计算机方面从业者,我英语其实也看不怎么懂,大致就这样。总之这个网站里有很多数表方面的数学史内容,里面还有几份中国古代数表的电子化重建,有兴趣的可以去看看。

本文还有一些杂七杂八的参考,由于太杂了,我也不知道参考了哪些,也没法一一列出了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇