Claudius Ptolemaeus · 约100–约170

托勒密

他的天空错了一千四百年,可算出来的每一次都对得上

crdθ=120sinθ2\mathrm{crd}\,\theta = 120\sin\frac{\theta}{2}
弦表 · 约150 年,亚历山大里亚 · 三角学从这一张表开始

关于托勒密本人,我们几乎一无所知:生卒年只能推到「约100—约170」,出生地不详。名字里的克劳狄乌斯是罗马公民的标记,托勒密是埃及—希腊人的姓——他不是那位让欧几里得说出「几何无王者之路」的托勒密一世国王,两人同名,隔着四百多年。能确定的只有他自己写在书里的观测:公元 127 年到 141 年,地点在亚历山大里亚。

他写的《天文学大成》共十三卷,前两卷是数学准备——其中就有那张弦表,弧从半度排到一百八十度,每半度一行,精确到六十进制第三位;后十一卷用它算日、月与五大行星。这本书统治了天文学一千四百年,也顺手把它建立在其上的喜帕恰斯的工作盖了过去。模型是错的:地球不动,别的东西绕着转。可它不是瞎猜——本轮、偏心圆、均衡点合起来是一套能算的东西,算出来的天象一次次对得上,这才是它撑了一千四百年的原因。另外两本书同样影响深远:《地理学》第一次给八千个地点标上经纬度,也把地球算小了六分之一——一千三百年后哥伦布正是照着这一路的数字,以为往西几千公里就能到亚洲。《光学》五卷里有成套的折射角实测数据,费马后来要解释的正是它们。他还写过一本小书试证第五公设,普罗克洛斯记下了,并当场指出他在证明里偷偷用掉了要证的东西——九百年后海亚姆掉进同一个坑。

托勒密肖像
《天文学大成》1515 年威尼斯版第八叶:第五、第六两张弦表,弧从 90°30′ 排到 135° · Wikimedia Commons,公有领域。他没有画像传世——流传的那些「托勒密像」都是文艺复兴以后的想象画,还常给他戴上王冠(那是同名的埃及国王,不是他)。这一页是《天文学大成》第一次被印成书,底本是十二世纪从阿拉伯文转译的拉丁文。表上「90°30′ 对 85;13,20」这一行,换算过来是 120·sin(45°15′) = 85.2222——与今天的值分毫不差。

生平

  1. 约100
    约生于此时

    出生地不详。名字里的「克劳狄乌斯」说明家里有罗马公民权。

  2. 127
    第一次有记载的观测

    地点亚历山大里亚。他书里引用的自测数据从这一年开始。

  3. 141
    最后一次有记载的观测

    前后十五年,这是他生平仅有的确切时间坐标。

  4. 约150
    《天文学大成》十三卷

    原名《数学汇编》。第一卷第十一章是弦表,往后十一卷都建在它上面。

  5. 约150
    星表:1022 颗星

    四十八个星座。其中多少来自喜帕恰斯,争论了两千年。

  6. 约150
    均衡点

    本轮的中心不绕圆心匀速转,而是绕另一个点匀速转——这是他自己的发明,也是模型能算准的原因。

  7. 约150
    《地理学》八卷

    八千个地点的经纬度与三种投影。也把地球周长取成了 180000 斯塔德,小了六分之一。

  8. 约160
    《光学》五卷

    空气—水、空气—玻璃的折射角逐度实测。费马 1662 年要解释的就是这批数据。

  9. 约170
    约卒于此时

    同样没有记载。

  10. 约450
    普罗克洛斯驳他的第五公设证明

    「这是一条有许多难处的定理,托勒密曾在一本书里试着解决它。」——而他证的时候用掉了要证的东西。

  11. 827
    巴格达译成阿拉伯文

    书名从希腊文的「最伟大的」变成 al-majisṭī,再变成拉丁文的 Almagest。

  12. 1175
    克雷莫纳的杰拉德拉丁译本

    从阿拉伯文转译。欧洲此后三百多年读的都是这一支。

  13. 1515
    第一次印成书

    威尼斯版。肖像位那一页就出自这一版。

  14. 1543
    《天体运行论》

    哥白尼把太阳挪到中心——他最不能忍的正是均衡点。

  15. 1609
    开普勒的椭圆

    圆终于让位给椭圆。逼他放弃圆的,是均衡点模型在火星上剩下的那八角分。

展品厅

绝大多数展品都可以亲手把玩——这是本馆的立馆之本;少数以叙述为主的,做成故事展签。

镇馆之宝 · 亲手玩

弦表:三角学从这张表开始

半度一行,从半度排到一百八十度,精确到小数点后五位。

crdθ=120sinθ2\mathrm{crd}\,\theta = 120\sin\frac{\theta}{2}

今天算三角形用正弦;希腊人用的是「弦」:一段圆弧所对的那条直线有多长。两者只差一步——crd θ = 120·sin(θ/2),因为他把半径取成 60 分。托勒密要算日月五星的位置,必须能把任意角度换成长度,所以他先造了这张表:弧从 0.5° 排到 180°,每半度一行,数值用六十进制写到三位,相当于小数点后五位。表怎么造?先拿正五边形、正六边形、正十边形与正方形算出 36°、60°、72°、90°、120° 的弦;再用两条公式把角减半、把角相加相减,一格一格填过去(那两条公式就是下一件展品里的托勒密定理)。唯一填不上的是 1°:三等分角作不出来,所以他改用夹逼——crd 1° 夹在 (2/3)·crd 1.5° 与 (4/3)·crd 0.75° 之间,两头一挤,得 1;2,50,与真值 1.047198 只差百万分之二。肖像位那一页就是这张表的第五、第六段;上面「90°30′ 对 85;13,20」一行,换算过来正好是 120·sin(45°15′)。

拖动那段弧,看弦的长度与他表上的数对不对得上

希腊人算的不是正弦,是:一段弧所对的那条直线有多长。 半径取 60 分,于是 crd θ = 120·sin(θ/2)——只差一步。他把弧从半度排到 一百八十度,每半度一行,用六十进制写到三位,相当于小数点后五位。 怎么填?先由正五边形、正六边形、正十边形与正方形得出 36°、60°、72°、90°、 120° 的弦,再用半角公式与托勒密定理(下一件展品)把角减半、相加相减, 一格一格补齐。只有 1° 填不上:三等分角作不出来, 他改用夹逼——crd 1° 夹在 (2/3)·crd 1.5° 与 (4/3)·crd 0.75° 之间,得 1;2,50, 与真值只差百万分之二。肖像位那一页就是这张表的第五、第六段。

托勒密定理

圆内接四边形:两条对角线的积,等于两组对边的积之和。

ACBD=ABCD+ADBCAC \cdot BD = AB \cdot CD + AD \cdot BC

圆上取四个点,依次连成四边形。托勒密定理说:两条对角线相乘,正好等于两组对边相乘再相加。婆罗摩笈多那件展品讲的是同一种四边形的面积,这一件讲的是它的边长关系——两条都要求「四点共圆」,一离开圆,等号就变成小于号(这叫托勒密不等式)。他要这条定理不是为了几何本身,是拿它当计算器用:把其中一条边取成直径,定理立刻变成弦的差公式,相当于今天的 sin(α−β) = sinα·cosβ − cosα·sinβ。有了它,任意两个已知的弦就能合成出第三个,弦表才填得下去。所以这条定理是那张表的发动机——它出现在《天文学大成》第一卷,就在表的前面几页。

圆上依次取四个点,连成四边形。托勒密定理说:两条对角线相乘, 等于两组对边相乘再相加。拖两个滑块,右栏那两个数始终咬在一起。 婆罗摩笈多那件展品说的是同一种四边形的面积,这一件说的是它的边长—— 两条都要求四点共圆,一离开圆,等号就变成小于号。他要这条定理是拿它当 计算器用:把 AD 取成直径,定理立刻变成弦的差公式, 两个已知的弦能合成出第三个。换成今天的记号 crd θ = 120·sin(θ/2), 它就是 sin(a−b) = sin a·cos b − cos a·sin b。那张三百六十行的表, 就是靠这一条一格一格填出来的。

本轮:怎么让行星倒着走

火星每两年会在天上倒退一次。用两个圆就能把这件事画出来。

z(t)=Reiω1t+reiω2tz(t) = R e^{i\omega_1 t} + r e^{i\omega_2 t}

行星平时自西向东走,可每隔一段时间会停下来、倒退一段、再掉头——这叫逆行,是地心说最难对付的一件事。托勒密的解法是两个圆:行星在一个小圆(本轮)上转,小圆的中心又在一个大圆(均轮)上绕地球转。两个转动叠起来,行星在天上画出的就是一串带小环的轨迹,环的那一段正是逆行。这不是硬凑:今天看,本轮转一圈恰好是一年——因为那个小圆画的其实是地球自己的公转。换句话说,他把地球的运动记在了每一颗行星头上,一颗不落。模型是错的,画出来的图案却是对的,这就是为什么它能撑一千四百年。顺带一提:一层套一层的圆周运动叠加,正是傅里叶级数的写法——十九世纪之后人们才发现,只要本轮够多,这套办法可以画出任何闭合曲线,包括一张人脸。能拟合一切的模型,恰恰什么也没解释。

行星平时自西向东走,可每隔一段时间会停下、倒退、再掉头——这叫逆行, 是地心说最难对付的一件事。托勒密的解法是两个圆:行星在小圆(本轮)上转, 小圆的中心在大圆(均轮)上绕地球转。两个转动叠起来,从地球看出去就是一串 带小环的轨迹,环的那一段正是逆行。这不是硬凑——本轮转一圈恰好是一年, 因为那个小圆画的其实是地球自己的公转,他把地球的运动记在了每一颗行星头上。 模型是错的,画出来的图案却是对的,这就是它撑得住一千四百年的原因。 再往后一步:一层套一层的圆周运动叠加,正是傅里叶级数的写法——本轮够多, 什么闭合曲线都画得出来。能拟合一切的模型,恰恰什么也没解释。

均衡点:他为什么能算准

把偏心距一分为二,圆周运动就逼近了椭圆——差只剩几角分。

θ˙equant=const\dot{\theta}_{\text{equant}} = \text{const}

光靠本轮还不够准:行星在近处跑得快、远处跑得慢,而圆周匀速转动给不出这个快慢。托勒密的办法在今天看来近乎作弊:他让地球偏离圆心一段距离 e,又在圆心另一侧同样远的地方放一个空点——均衡点;行星(严格说是本轮中心)在圆上跑,要求的不是绕圆心匀速,而是绕这个空点匀速。那里什么也没有,纯粹是为了算得准。哥白尼最不能忍的就是这一条,骂它是「怪物」,他的日心说有一半动机是为了甩掉均衡点。可从今天回头看,被骂的这一步恰恰是最对的一步:开普勒第二定律说行星扫过的面积与时间成正比,而「绕均衡点匀速」是它极好的近似——把偏心距在地球与均衡点之间平分之后,两者在经度上的差只有偏心率平方的量级。火星的偏心率是 0.093,一整圈算下来最大差约九角分,而当时的仪器分辨不到十角分。更巧的是这个数:一千四百年后开普勒拿第谷的火星观测与自己的圆轨道模型(用的正是均衡点这一套)对账,剩下的残差就是八角分——他说,就是这八分角差,逼出了整个天文学的改造。所以托勒密不是运气好:他用一个假的点,摸到了一条真的定律,而它差的那一点点,恰好就是后来撬开椭圆的缝。

只用本轮还不够准:行星近处快、远处慢,而匀速圆周给不出这个快慢。 托勒密的办法近乎作弊——地球偏离圆心一段 e,圆心另一侧同样远处放一个空点,行星在圆上跑,要求的是绕这个空点匀速。 那里什么也没有,纯粹是为了算得准。哥白尼骂它是「怪物」,甩掉它是他搞日心说的 一半动机。可回头看,被骂的这一步恰恰最对:开普勒第二定律说面积与时间成正比, 而「绕均衡点匀速」是它极好的近似,经度差只有 e² 的量级。拖滑块看:地球 0.25′、 火星 9′、水星 50′。火星那一行正是开普勒后来盯上的「八分」—— 他说就是这八分角差,逼出了整个天文学的改造。

往西到亚洲有多远

他把地球算小了六分之一,又把欧亚拉长了四十度——两个错凑到一起,大西洋就窄了一半。

1500 斯塔德(实际约700)1^\circ \approx 500 \text{ 斯塔德} \quad (\text{实际约} 700)

《地理学》八卷是另一项开创:八千个地点,每个都给出经度与纬度,还给了三种把球面摊成平面的投影法——这是「用一对数说清一个位置」在地图上的第一次大规模实践。可它带着两个错。一是地球周长:埃拉托色尼早在三百多年前就用日影量出 250000 斯塔德,接近真值,托勒密却取了波西多尼乌斯偏小的那个数,180000 斯塔德,等于把地球缩掉了六分之一,每一度也就跟着短了。二是已知世界的东西跨度:他把它定成 180 度,实际约 140 度——其中地中海一处就被拉长了近二十度(八百年后花拉子米在《地球形貌》里把它改了回来)。两个错叠在一起,从西班牙往西到亚洲的那片海就被压掉了一大半:按他的数只剩一万六千多公里,实际是两万四千公里。哥伦布用的还不是托勒密,而是更夸张的马里努斯的 225 度,再配上一个被他误读的阿拉伯里程数,往西便只剩七十多度、六千多公里。他没算对,却猜对了一件事:那个距离上确实有陆地,只是不是亚洲。

《地理学》八卷第一次给八千个地点标上经纬度,还给了三种把球面摊平的投影—— 「用一对数说清位置」在地图上的第一次大规模实践。可它带着两个错,而且同向:地球被算小了六分之一(他取了波西多尼乌斯的 180000 斯塔德, 而不是埃拉托色尼那个几乎正确的 250000),已知世界又被拉长了四十度(其中地中海一处就多出近二十度,八百年后花拉子米改了回来)。两个错叠起来, 从西班牙往西到亚洲的那片海被压掉了一大半。哥伦布用的还不是托勒密, 是更夸张的马里努斯,再加上一个被他误读的里程数——算出来只有六千多公里。 他没算对,却猜对了一件事:那个距离上确实有陆地,只是不是亚洲。 (数字按赤道算;他实际走的是北纬 28° 一线,还要再短一些。)

一个错了一千四百年的模型

拟合得好,不等于说对了——这件事的第一个大例子就是它。

地心说错在哪里,今天连小学生都答得上来。可真正值得看的是另一个问题:一个错的模型,凭什么能用一千四百年?答案是它算得准。有了本轮、偏心圆与均衡点,《天文学大成》能预报日月食、行星的位置与逆行的时间,误差小到当时的仪器分不出来。而且它有一整套办法:观测不合就调参数,再不合就添一个本轮——这套「加一个圆」的补法,让它在一千四百年里始终跟得上新的观测。1543 年哥白尼把太阳挪到中心,精度并没有立刻变好,因为他还坚持用正圆;真正压过托勒密的是 1609 年开普勒的椭圆,那时候距离《天文学大成》已经过去一千四百六十年。托勒密自己其实说过一句很清醒的话:应当尽可能用简单的假设去配天上的运动,若配不上,就换能配得上的。麻烦正出在这里——「能配得上」是一个太容易满足的要求。一套参数够多的模型总能拟合已有的数据,却未必对;今天的机器学习每天都在重演这件事。附带一提,他还在另一处掉进过同一类陷阱:他写过一本小书试证欧几里得第五公设,普罗克洛斯记下并指出,他在证明里偷偷假设了「过线外一点只有一条平行线」——那正是要证的东西。九百年后,海亚姆用另一条同样等价的原理,把同一个坑又踩了一遍。

故事展签故事展签:一个算得准的错模型,比一个算不准的对模型活得久。

传承

他的工作没有留在十八世纪——每条链的终点,都是你今天正在使用的东西。

弦表与半角、和差公式阿拉伯天文学家把弦换成正弦今天每一处写下 sin 的地方
托勒密定理弦的和差公式三角恒等式与球面三角
本轮叠本轮圆周运动的叠加=傅里叶级数任何闭合曲线都能被画出来——以及「能拟合一切」的警告
均衡点:绕一个空点匀速开普勒第二定律的极好近似,火星上只差八九角分面积定律与角动量守恒
《地理学》的经纬度与投影地球被算小了六分之一哥伦布往西出海

语录

我知道自己是终有一死的凡人,只活一天。可当我追着星辰盘旋往复的轨迹时,我的脚就不再沾着地面——我站在宙斯身旁,饱饮神的餐食。

—— 归在他名下的一首希腊警句,收在《希腊诗文选》第九卷;真伪难考,但一千七百年来一直挂着他的名字

只有数学,能给认真对待它的人以确凿而不可动摇的知识。

—— 《天文学大成》第一卷第一章 · 他据此把数学排在物理学与神学之前

应当尽可能用较简单的假设去配天上的运动;若是配不上,就换能配得上的。

—— 《天文学大成》第十三卷第二章 · 托默英译本转译。这句话既是他能算准的原因,也是那个模型能错一千四百年的原因