日食到底什么时候发生?一个关于计算的千年故事

准备2017年8月21日

2017年8月21日,在美国的一条线上可见太阳的总蚀。但是,Eclipse完全会发生在给定位置?能够预测天文事件历来一直是精确科学的大胜利之一。但在2017年,实际上可以做到的程度如何?

我认为,答案很好,即使全食边缘以每小时略超过1000英里的速度移动,也有可能在一秒钟内预测它何时到达给定位置。为了证明这一点,我们创造了网站让任何人输入他们的地理位置(或地址),然后立即计算什么时候日食将到达他们——以及生成许多页的其他信息。

PrecisionEclipse.com页面

这篇文章也在
有线»

这是一个古老的行业

现在很容易就能知道下一次日食的时间;确实是在Wolfram语言这只是一个函数它告诉你(在这种形式的输出是“最大的日食时间”):

日食

日食

也很容易发现和绘制全食的区域:

GeoListPlot [SolarEclipse[“TotalPhasePolygon”]]

GeoListPlot [SolarEclipse[“TotalPhasePolygon”]]

或者确定整个全食面积约为美国面积的16%:

Geoarea [Solareclipse [“TotalPhasePolygon”]] / Geoarea [实体[国家“,”联军“]]

Geoarea [Solareclipse [“TotalPhasePolygon”]] / Geoarea [实体[国家“,”联军“]]

但计算Eclipses并不完全是一个新的业务。事实上,安提基特拉装置2000年前的科学家甚至尝试用37个金属齿轮来模拟太阳和月亮的运动(是的,地球在中心)。对我来说,安提基西拉装置作为一项孤立的技术,被遗忘了1600多年,却没有被超越,这一事实让我感到不安和警惕。

但是在设备的底部就在那里有一条臂,当它指向η或σ标记时,它表示可能的太阳或月亮。在设备上设置日期的方式有点时髦(毕竟,现代历法1500年后才会被发明出来),但如果有人模拟Wolfram示范项目(这是在2012年校准的时候集会示威,然后转动曲柄,将设备设置为2017年8月21日,下面是你得到的:

安提基特拉装置

Antikythera设备在行动中

而且,是的,所有这些齿轮都在移动,以使月球指示器与太阳对齐,并使底部的手臂正好位于Η-just,因为它应该是日食。能在一个设计于2000年前的设备上成功地进行这样的计算真是太神奇了。

当然,今天的结果要准确得多。然而,奇怪的是,尽管已经完成了所有的理论科学研究,我们实际计算太阳和月亮位置的方法在概念上非常像安提基西拉装置的齿轮和有效的本轮。只是现在我们有了数十万个齿轮的数字等价物。

为什么日食会发生?

从地球上的一个特定位置来看,当月亮到达太阳的前面时,就会发生日全食。在地球历史上的这个时刻,月球恰好可以挡住太阳,因为它在天空中的角直径几乎和太阳一样(大约0.5°或30弧分).

那么月球什么时候到达太阳和地球之间呢?好吧,基本上每次有新月(也就是说,每年一次农历月).但我们知道每个月都没有eclipse。所以怎么来?

太阳、月亮和地球排成一线

图形({风格(磁盘({0},.3/5),黄色],[磁盘[{风格。8 0} .1/5],灰色),风格(磁盘[{1,0},.15/5],蓝色)})

实际上,在类似的情况下木卫三木星,有每次Ganymede都在Jupiter周围(恰好是关于每周).和地球一样,木星围绕太阳的轨道位于一个特定的平面上。蒙皮的飞机“)。事实证明,Ganymede在Jupiter周围的轨道也基本上位于同一平面上.因此,每次Ganymede都达到“新月”的位置(或者,在官方天文学讲台上,当它对一致时syzygy它的影子正好投射在木星上,无论影子落在哪里,都能使太阳黯然失色。(从木星,木卫三出现大约是太阳的3倍大.)

但是我们的月球不同。它的轨道不在黄道平面上。相反,它是倾斜约5°.(它是如何形成的还不得而知,但它可能与月球的形成有关。)但这个5度角使得日食相对罕见:只有当月球轨道经过黄道面时出现“新月形态”(syzygy)时,日食才会发生。

为了说明发生了什么,让我们画一个夸张的版本。这是月亮绕着地球转,每当它靠近黄道面时,就会被染成红色:

月球路径和黄道面

graphics3d [{with [{dt = 0,\ [theta] = 20度},表[{with [{p = {sin [2 pi(t + dt)/27.3] cos [\ [theta],cos [2 pi(t + dt)/27.3] cos [\θ],cos [2 pi(t + dt)/27.3] sin [\ [theta]}},{style [line [{{0,0,0}, p}], Opacity[.1]], Style[Sphere[p, .05], Blend[{Red, GrayLevel[.8, .02]}, Sqrt[Abs[Cos[2 Pi t/27.2]]]]]}], Style[Sphere[{0, 0, 0}, .1], Blue]}, {t, 0, 26}]], EdgeForm[Red], Style[InfinitePlane[{0, 0, 0}, {{1, 0, 0}, {0, 1, 0}}], Directive[Red, Opacity[.02]]]}, Lighting -> "Neutral", Boxed -> False]

现在让我们看看在大约一年的时间里发生了什么。我们每天都在显示一个点,表示月亮在哪里。如果那天月亮离黄道面越近,圆点越红。(请注意,如果按比例绘制,你几乎看不到月球的轨道,而且它看起来也不会像这里那样倒退。)

大约一年的月球轨道

与[{dt = 1}、图形[{风格(磁盘({0},。1)深色[黄色]],表与[[{{p = 2{罪(2πt / 27.3),因为(2πt / 27.3)} +{罪(2πt / 365.25),因为[2πt / 365.25]}},{风格(线[{{罪(2πt / 365.25),因为(2πt / 365.25)}, p}],不透明度(。[3]],样式[磁盘[p, .01],混合[{红色,灰度[。8]}, Sqrt (Abs(因为[2π(t + dt) / 27.2]]]]]}],风格(磁盘[{罪(2πt / 365.25),因为(2πt / 365.25)}, .005],蓝色)},{t, 360}]}]]

现在我们可以开始了解日食是如何发生的了。最基本的一点是,只要月球位于地球和太阳之间,并且位于黄道面,就会发生日食。在图中,这两种情况对应着月球尽可能靠近中心,并且尽可能红。到目前为止,我们每天只展示(夸张的)月球的位置一次。但为了让事情更清楚,让我们每天看四次,现在去掉月球至少与太阳大致对齐的情况:

月食指向月球轨道

使用[{dt = 1},图形[{style [disk [{0,0} ,.1],暗示[黄色]],表[{with [{p = .2 {sin [2 pi t / 27.3],cos [2 pi t / 27.3]} + {sin [2 pi t / 365.25],cos [2 pi t / 365.25]},如果[norm [p]>。81,{},{style [line [{{sin [2 pi t / 365.25],cos [2 pi t / 365.25]},p}],透明度[.3]],style [disk [p,.01],blend [{红色,graylevel [。8]},SQRT [ABS [2 PI(T + DT)/27.2]]]]]]]],STYLE [DISK [{SIN [2 PI T / 365.25],COS [2 PI T / 365.25]},005],蓝色]},{T,1,360,.25}]]]]

现在我们可以看到,至少在这个特殊的情况下,有两个点(用箭头表示)月球在黄道平面上(如图所示的红色),然后这些点将对应于日食。

在不同的年份,图像看起来会略有不同,主要是因为月球在年初的轨道上从不同的地方开始。以下是连续几年的示意图:

连续几年的示意图

GraphicsGrid[Partition[Table[With[{dt = 1}, Graphics[{Table[{With[{p = 2 {Sin[2 Pi t/27.3], Cos[2 Pi t/365.25]} + {Sin[2 Pi t/365.25], Cos[2 Pi t/365.25]}}, If[Norm[p] > .81, {}, {Style[Line[{{0,0}, p}], Blend[{Red, GrayLevel[. color] . color . color . color . color . color . color .]8]}, Sqrt (Abs(因为[2π(t + dt) / 27.2]]]]],风格(线[{{罪(2πt / 365.25),因为(2πt / 365.25)}, p}],不透明度(。[3]],样式[磁盘[p, .01],混合[{红色,灰度[。8]}, Sqrt (Abs(因为2π(t + dt) / 27.2 ]]]]]}]], 风格[磁盘[{罪(2πt / 365.25),因为(2πt / 365.25)}, .005],蓝色)},{t 1 + n * 365.25, 360 + n * 365.25,升至}],风格(磁盘({0},。1)深色[黄色]]}]],{n 0 5}], 3]]

在这里很难准确地看到月食发生的时间,也不可能分辨出哪些是月全食,哪些是月偏食。但至少有迹象表明,例如,有"eclipse的季节“在一年中日食发生的不同地区。

好的,那么真实的数据看起来像什么?这是过去20年和未来20年的图表,显示了每年发生日全食和日偏食的实际天数(各处的小点表示)新卫星):

40年的日蚀图

coord [date_]:= {datevalue [日期,“年”],日期 -  nextdate [dateObject [{datevalue [日期,“年”“”“”“}”,“Instant”]} Listplot [Coord / @ Solareclipse [{现在 - 数量[20,“岁”],现在+数量[20,“岁”],全部}],Aspectratio  - > 1/3,框架 - >真实]

在连续的年份之间“漂移”的原因只是农历(29.53 days) doesn’t line up with the year, so the Moon doesn’t go through a whole number of orbits in the course of a year, with the result that at the beginning of a new year, the Moon is in a different phase. But as the picture makes clear, there’s quite a lot of regularity in the general times at which eclipses occur—and for example there are usually 2 eclipses in a given year—though there can be more (and in 0.2% of years there can be as many as 5, as there last were in 1935 ).

为了看到更多关于日食的细节,让我们绘制过去100年和未来100年所有连续日食的时间差(以小数年为单位):

All, PlotRange -> All, Frame -> True, AspectRatio -> 1/3, FrameTicks -> {None, Automatic}]" src="//www.fiberbeat.com/data/uploads/2017/08/img_133.png" alt="ListLinePlot[Differences[SolarEclipse[{Now - Quantity[100, "Years"], Now + Quantity[100, "Years"], All}] /Quantity[1, "Years"], Mesh -> All, PlotRange -> All, Frame -> True, AspectRatio -> 1/3, FrameTicks -> {None, Automatic}]" width="571" height="190">

ListLinePlot[Differences[SolarEclipse[{Now - Quantity[100, "Years"], Now + Quantity[100, "Years"], All}] /Quantity[1, "Years"], Mesh -> All, PlotRange -> All, Frame -> True, AspectRatio -> 1/3, FrameTicks -> {None, Automatic}]

现在让我们绘制相同的时间差异,但只是为了全日生eClipses:

"Total"]]/Quantity[1, "Years"], Mesh -> All, PlotRange -> All, Frame -> True, AspectRatio -> 1/3, FrameTicks -> {None, Automatic}]" src="//www.fiberbeat.com/data/uploads/2017/08/img_141.png" alt="ListLinePlot[Differences[SolarEclipse[{Now - Quantity[100, "Years"], Now + Quantity[100, "Years"], All}, EclipseType -> "Total"] /Quantity[1, "Years"], Mesh -> All, PlotRange -> All, Frame -> True, AspectRatio -> 1/3, FrameTicks -> {None, Automatic}]" width="571" height="190">

ListLinePlot[Differences[SolarEclipse[{Now - Quantity[100, "Years"], Now + Quantity[100, "Years"], All}, EclipseType -> "Total"] /Quantity[1, "Years"], Mesh -> All, PlotRange -> All, Frame -> True, AspectRatio -> 1/3, FrameTicks -> {None, Automatic}]

这里显然是一个公平的整体规律性,但也有很多微小的结构和违规行为。能够正确预测所有这些细节基本上是迈出了几千年的更好的部分。

古老的历史

这个很难(硬不要注意到eclipse据推测,从最早的时候起,人们就这样做了。但是,日食仅仅是反映——或者是预兆——与天空中随机发生的事情有关,也许是在某些神灵之间的肥皂剧中?或者它们是可以被预测的东西?

几千年前,它还不会清楚像占星家这样的人可以想到的预测。月球何时会在天空中的某个地方?明天会下雨吗?大麦的价格是多少?谁会赢得战斗?即使是现在,我们不确定如何预测所有这些。但是预测和精确科学胜利的一个清晰案例是天文学。

至少就西方传统而言,这一切似乎都始于古巴比伦——在那里,人们进行了数百年的仔细观察,并按照那个文明的方式进行了详细的记录。即使在今天,我们仍然有成千上万的官方日记条目写在小泥板上的看起来像小鸡的划痕(尤其是从Ninevah现在正好在伊拉克的摩苏尔)。“14日晚上:寒冷的北风。月亮在我的面前α狮子座的.从15号河到20号河涨了1/2腕尺。大麦为1库尔5锡特。25日深夜,月亮在1肘8指后ε狮子座的.日出后28日,74°,太阳日食......“

巴比伦的粘土片如果你看一看某一天发生了什么,你可能说不出多少。但是通过多年甚至数百年的观察,你可能会看到各种各样的重复和规律。早在巴比伦时代,人们就产生了用这些来构建一个星历表-一种系统的表格,表明在任何特定的时间,一个特定的天体(如月球)的位置。

(不用说,重建巴比伦的天文学是一项复杂的工作,因为解码到目前为止基本上是一种外星文化。这一努力中的一个关键人物是肯定的奥托Neugebauer他正好在我楼下的办公室工作高级研究所上世纪80年代初在普林斯顿我几乎每天都能见到他——一个安静的白发小伙子,眼睛里闪着光——只是偶尔会瞥一眼他那庞大的索引卡片归档系统,现在我意识到这是理解巴比伦天文学的核心。)

巴比伦人所做的一件事是惊人地精确地测量了所谓的月球相位的重复周期朔望月(或“月经期”)约29.53天。他们注意到235个会合月非常接近19年,所以大约每19年月亮的日期和相位就会重复排列,形成一个所谓的太阴周(命名雅典宫殿,他在公元前432年描述了它)。

这可能有助于天空中随机的星座形成一个很好的模式来测量月球的精确位置(这让我想起了现代时尚的穿着分形,使电影的动作捕捉更容易)。但是巴比伦人注意到了月球运动的各种细节。他们知道它"异常:它在天空中周期性的加速和减速(现在知道是它的椭圆轨道的结果)。他们测量了这个所谓的平均周期不规则月-大约27.55天。他们还注意到月亮在黄道面上下移动(现在已知是因为轨道倾角)——平均周期(所谓的龙的月)他们测量的是大约27.21天。

到公元前400年,他们注意到每一个所谓的萨罗斯这些不同的周期(223个会合月、239个异常月和242个龙月)基本上是一致的——结果是月球相对于太阳的位置大致相同。这就意味着,如果一个萨罗纱罗出现了日食,那么人们就可以预测下一个萨罗纱罗也会出现日食。

当一个人对它绝对精确的时候,会有各种各样的效果来防止每一件纱罗的精确重复。但在1300多年的时间尺度上,事实上仍然有一系列的日食被一个纱罗纱罗分开。(在这样一个saros系列的过程中,日食的位置有效地扫描了整个地球;即将到来的月食是77个月食系列中的第22个,该系列从公元1639年北极附近的月食开始,到公元3009年南极附近的月食结束。

任何给定的时刻都将在相当多的萨罗系列(现在是40)的中间,而连续的日食总是来自不同的系列。但是,了解saros周期是预测日食的重要的第一步,例如,天球仪就使用了这种方法。从某种意义上说,这是一门科学的精髓:通过大量观察,然后从中综合出一个理论,或者至少是一个计算方案。

尚不清楚巴比伦人是如何看待抽象的、正式的系统的。但希腊人肯定很喜欢。到了公元前300年欧几里得定义了他的抽象几何学体系。所以当有人喜欢托勒密天文学,它们有点像欧元区有效地把像赛车赛循环一样的东西作为公理,然后从他们那里证明,经常令人惊讶地精致的几何定理,例如在给定年份必须至少有两个太阳味。

Ptolemy的almagest.从大约公元150年开始,这是一项令人印象深刻的工作,其中包括许多其他东西,一些相当复杂的程序和明确的表格,用于预测日食。(是的,即使在后来的印刷版本中,数字仍然是用字母困惑地代表就像在古希腊一样。)

托勒密的天文学大成

在托勒密的天文学中,地球被认为是万物的中心。但用现代术语来说,这只是意味着他选择了一种不同的坐标系,这对他想做的大部分事情都没有影响,比如计算日食的几何形状。与主流的希腊哲学家不同的是,他并没有试图建立一个关于世界的基本理论,他只是想要任何的本轮等等,他需要解释他所观察到的。

现代科学的曙光

一千多年来,托勒密的月亮理论定义了最先进的技术。在13世纪伊本al-Shatir修改了Ptolemy的型号,实现了更好的准确性。1472年雷乔蒙塔努斯(Johannes Muller)作为创办这家基本上是第一家科学出版公司的一部分,他出版了更完整的表格。但即使在1543年哥白尼在介绍他的太阳系太阳中心模型时,他得到的结果与托勒密的基本相同,尽管他对正在发生的事情的基本描述大不相同。

这是说,第谷·布拉赫对天文学感兴趣1560年13岁当他看到日食,预知并在接下来的几十年里他仔细观察发现了几个影响月球的运动(如加速在满月前)——最终导致也许5因素改善预测的位置。对第谷来说,日食是关键的测试,他仔细地测量了它们,并努力工作,以便能够更准确地预测它们的时间,而不是在几个小时内。(他自己从未见过日全食,只见过日偏食。)

第谷的页面

有了第谷的观测,Johannes Bepler.开发了他的描述轨道是椭圆- 表明概念倾向偏心异常-1627年,他终于发表了自己的作品Rudolphine表它对了很多以前错误的东西,包括各种各样的月球位置的详细表格,以及对月食的更好预测。

开普勒Rudolphine表

使用开普勒Rudolphine表(以及一些计算页面) - 在1654年出版了太阳日食的第一个已知的实际地图。虽然整体地理上存在一些迷人的不准确性,但日食的几何形状并不太糟糕。

eclipse的第一个地图

无论是托勒密的epiccles还是开普勒的ellipses,都有大量的计算要做,以确定天体的运动(事实上,第一个已知的机械计算器——除了Antikythera装置——是由a开普勒的朋友,大概是为了这个目的)。但实际上并没有一个连贯的基本理论;它更多的是以一种可以用于预测的方式来描述效果。

所以这在1687年是一个很大的进步艾萨克·牛顿发表了他的王子岛他声称,根据他的运动和万有引力定律,从基本原理出发,应该可以计算出关于月球运动的一切。(有趣的是,在他的“世界理论”一节中,他简单地宣称他的二十二命题“月球的所有运动……都遵循我们所制定的原则”。)

牛顿为他能够根据他的新理论解释各种已知的效应而感到自豪。但当涉及到实际计算月球的详细运动时,他经历了一段令人沮丧的时间。即使几年后,他仍然无法在后来的版本中得到正确的答案王子岛添加其实际上“月球的APSE的入场是大约是迅速的两倍”(即他的答案是错误的2倍)。

不过,1702年,牛顿是足够的快乐与他的结果,他允许他们发表,在长达20页的小册子的形式”理论的月亮”,宣称,“这一理论,什么天文学家都认为最困难的,几乎不可能完成,优秀的牛顿先生现在有影响,也就是确定月球在她体内的位置,以及她轨道的所有其他部分,除了syzygys.如此准确地通过计算,那个和她在天上的真实地方之间的差异稀缺两分钟......“

牛顿的《月球理论》小册子

牛顿没有解释他的方法(事实上,他到底做了什么,或者它在数学上有多严格,还是不清楚)。但他的小册子实际上给出了一个逐步计算月球位置的算法。他并没有声称它在“合集”(即当太阳、月球和地球排在一起等待日食的时候)起作用——尽管他宣称的两弧分的误差仍然比月球在天空中的角度大小小得多。

但那时的焦点并不是日食;这是当时一个非常实际的问题:知道一艘船在公海上的位置。这是可以确定的纬度你只需要测量太阳在天空中的高度就可以了。但要确定经度您必须纠正地球的旋转 - 并确实要准确地跟踪时间。但是回到牛顿的一天,存在的时钟只是不够准确,特别是当他们在船上扔到船上时。

但特别是在各种海军事故之后,经度问题被认为足够重要,即英国政府在1714年成立了“董事会经度“提供奖品以帮助解决问题。早期的一个建议是利用问题的规律性。”木星的卫星发现的伽利略作为一段时间的方式。但它似乎是一种更简单的解决方案(不需要强大的望远镜)可能只是测量月亮的位置,相对于某些固定的星星说 - 然后返回从中缩写时间。

但要做到这一点,人们必须有一种精确的方法来预测月球的运动——这正是牛顿试图提供的。但实际上,直到18世纪60年代,才有了足够精确的表格,能够在一分钟内确定时间(从而确定距离到15英里左右)。恰好在同一时间,人们发明了一种航海天文钟,它可以直接准确地记录时间。

三体问题

牛顿的伟大成就之一是王子岛是为了解决所谓的两体问题,并证明根据引力平方反比定律,一个物体围绕另一个物体的轨道一定是开普勒所说的椭圆形。

近似地说,我们可以把月球想象成沿着简单的椭圆轨道绕地球运行。但让一切变得困难的是,这只是一个近似值,因为在现实中,月球也有来自太阳的引力。正因为如此,月球的轨道不再是一个简单的固定椭圆——事实上,它最终会变得复杂得多。有几个确切的影响是可以描述和推理的。椭圆被拉伸当地球在自己的轨道上离太阳更近时。椭圆的方向像陀螺一样进动由于太阳的影响但最终我们无法通过纯粹的推理来计算出轨道,所以我们别无选择,只能用数学来解决这个问题三体问题

在许多方面,这代表了科学的新局面。在过去,一个人如果不弄清楚自然的新规律就走不了多远。但在这里,由于牛顿的贡献,人们已经知道了潜在的定律。然而,即使有了这些定律,要算出它们所暗示的行为还是有困难的数学。

在17世纪和1800年的努力中努力解决这个问题三体问题确定月球轨道是数学物理学的核心,吸引了一批名副其实的数学家和物理学家。

一位早期参赛者被选中Leonhard欧拉,他开发了基于三角级数的方法(包括许多我们目前用于这类事物的符号),他的著作中包含许多容易辨认的公式:

欧拉的方法

在18世纪40年代中期,欧拉的“竞争对手”也有过短暂的失败。克莱罗达朗贝尔- 释放的可能性逆级法律因为重力可能是错误的。但问题出在计算上,到1748年,欧拉使用了大约20个三角项的和骄傲地宣称这一他制作的桌子对于三体问题预测总日食的时间在几分钟内。(实际上,他曾说过5分钟的总体,而实际上只有1次 - 但他归咎于这个错误不正确他得到了柏林的坐标.)

数学物理学在接下来的几十年里发展迅速,各种著名的方法都在发展,尤其是像拉格朗日.例如,到18世纪70年代,拉格朗日的工作看起来就像是来自现代微积分书(或来自Wolfram | alpha逐步解决方案):

拉格朗日方法

特别是在手中拉普拉斯在推导他所谓的"天体力学,并建立了这样一种观念只有数学才能做到确实在科学中产生了新的结果。

在实践层面上,测量月球位置之类的东西总是比计算精确得多。但现在它们在这两方面都变得更加具有可比性。同时,星历表的编制也越来越系统化。1767年,年度出版开始了多年来的标准:《英国人》航海历

《年鉴》引用了月球在弧秒的位置,并系统性地达到了至少弧分的精度。年鉴的主要用途是导航(这也是使用格林威治作为本初子午线“用来测量时间)。但在每年的版本的前面都有预测的日食时间——1767年只有两次日食:

航海历

数学变得更严肃了

在数学层面上,三体问题是关于解决一个由三个普通物体组成的系统微分方程这将三个身体的位置作为时间的函数。如果位置在标准3D笛卡尔坐标中表示
r= {xyz},方程式可以以形式说明:

三个方程

{xyz然而,这里的坐标并不是天文学中传统的坐标。例如,在描述月球的位置时,可以使用绕地球的球体上的经度和纬度。或者,如果人们知道月球的轨道大致是椭圆形的,那么人们可能会选择用基于偏离轨道的变量来描述它的运动。原则上,这只是一个代数操作的问题,用任意给定的变量来重申方程。但在实际操作中,得出的结果往往又长又复杂,而且可能导致公式填满许多页。

但是,好的,那么用于三体问题的最佳变量是什么?也许他们应该涉及相对的身体的相对位置。或相对角度。或者可能在各种旋转坐标系中的位置。或者在纯粹的双体问题中可能是恒定的量。在1700年代和1800多岁的过程中,许多论文都是探索不同的可能性。

但基本上所有情况都是三体问题的最终方法是一样的。使用所选变量设置问题。识别参数,如果设置为零,会使问题崩溃到一些易于解决的形式。然后做一个系列扩展以这些参数的幂为单位,只保留一些项。

到了1860年代查尔斯德劳内花了20年的时间以这种方式发展出了最广泛的月球理论。他确定了五个参数来进行级数展开(偏心度、倾角和轨道大小的比例),最后他生成了大约1800页这样的文件(是的,他真的需要Mathematica.!)

Delaunay的系列扩展

但悲伤的事实是,尽管所有这一切努力,但他并没有得到非常好的答案。最终它明确了原因。基本问题是Delaunay希望在类似的功能方面代表他的结果因为.但在他的计算中,他经常想对这些功能的频率进行串联扩展。这是一个最小的情况:

系列[SIN [(ω+δ)* t],{δ,0,3}]

系列[SIN [(ω+δ)* t],{δ,0,3}]

这就是问题所在。再看看第二届。是的,δ参数可能很小。但是t参数,代表时间?如果你不想预测得太远,那就保持小。但如果你想知道未来会发生什么呢?

最终,这个项会变大。高阶项会变得更大。但是,除非月球脱离轨道或其他什么,代表其位置的最终数学表达式不能有太大的值。因此,在这些表达式中,所谓的长期项会随时间增加t一定要以某种方式抵消。

但问题是,在级数展开的任何给定阶次上,都不能保证这会以数值上有用的方式发生。在德洛奈的例子中,尽管他付出了巨大的努力,但他经常达到7级或更高级别,但没有达到。

Delaunay计算的一个很好的特点是,它在某种意义上完全是代数的:所有的事情都是象征性地进行的,只有在最后才是替换的参数的实际数值。

但即使在Delaunay之前,彼得汉森他采取了一种不同的方法——尽快替换数字,并根据数字的大小而不是符号形式放弃术语。他的演讲看起来不那么纯粹(注意所有这些事情)t1800年,t是指时间,以年为单位),而且很难判断发生了什么。但在实际操作中,他的结果要好得多,事实上,从1862年到1922年,许多国家的历书都使用了他的结果,至少在十年左右的时间里,误差小到1或2弧秒。(在较长一段时间内,错误可能会迅速增加,因为缺少那些因数字事故而被删除的术语。)

汉森的方法

Delaunay和Hansen都试图代表轨道,作为一系列权力和三角函数(所谓的泊松系列)。但在19世纪70年代,乔治希尔在里面美国航海年鉴办公室相反,他建议用数值计算得到的函数作为基础,这些函数来自于求解一个两体运动方程,其周期性驱动力大致与太阳对月球轨道施加的驱动力类似。从1892年开始,人们开始进行大规模的努力Ernest W. Brown.(谁搬到了美国,但却是一名学生乔治·达尔文查尔斯·达尔文他的儿子是物理学家),负责了这个项目,并在1918年做出了多年来被认为是权威的。月亮的运动表“。

布朗的表格包含了几百页,最终用1400项的精确系数组合出了月球的位置:

布朗的表

他在一开始就说,这些表格并不是特别为像月食这样的特殊事件设计的,但随后继续下去,并做了一个计算公元前381年的月食的“工作示例”,由托勒密

布朗的表2

这是一个令人印象深刻的迹象,表明事情已经走了多远。但具有讽刺意味的是,布朗的表格最终呈现的形式和有很多本轮的形式是一样的。在某种程度上这并不奇怪,因为任何函数最终都可以用本轮表示,就像它可以用傅里叶级数或其他级数表示一样。但使用这种类似的形式是一种奇怪的历史现象。

三体问题可以解决吗?

这一切都很好,很好,一个人可以找到三体问题的近似值,但刚刚找到一个彻底解决方案-就像数学公式一样?即使在1700年代,也有一些特定的解决方案,比如欧拉共线配置,以及拉格朗日等边三角形.但一个世纪后,没有找到进一步的解决方案——找到一个完整的三体问题的解决方案开始变得像将一个角三等分、解五次方程或制造永动机一样无望。(这种观点在一封信中得到了体现查尔斯贝叶比写了Ada Lovelace在1843年提到了“可怕的三体问题”——尽管这封信后来被艾达的传记作者误以为是关于一个浪漫的三角关系,而不是天体力学中的三体问题。)

与三体问题相比,使两体问题易于处理的似乎是,它的解决方案可以完全以“运动常数随着时间的时间保持不变的“Quantities(在这种情况下)椭圆轴的方向).所以多年来,三体问题的一个重要目标就是找到运动的常数。

但是,在1887年,海因里希·布鲁斯表明,不能与标准的代数函数至少表示的任何这样的常量{xyz三个物体的位置和速度坐标。然后在19世纪90年代中期HenriPoincaré.事实上,不可能有任何运动常数可以表达为分析功能位置,速度和质量比。

当时特别令人失望的一个原因是,人们曾希望在某种程度上可以找到运动的常数n-身体问题将导致对太阳系长期稳定性的数学证明。作为他的工作的一部分,庞加莱还看到了另一件事:至少在三体问题的特殊情况下,存在任意性对初始条件的敏感依赖性——这意味着即使测量中的微小误差也可能被放大为预测行为的任意大变化(经典的“混沌理论“现象”)。

但是,在发现三体问题的特定解可能具有这种不稳定性之后,庞加莱采取了一种不同的方法,这实际上是未来许多纯数学的特征:他决定不看单个解,而是看所有可能解的空间对于三体问题,这是一个非常复杂的问题,尽管在他努力分析它的过程中,他发明了拓扑结构

Poincaré的工作几乎结束了为三体问题找到完整解决方案的努力。在一些人看来,这似乎也解释了为什么德劳内和其他人的系列扩张没有成功——尽管在1912年卡尔Sundman至少在原则上,三体问题可以用无穷级数来解决,尽管收敛速度慢得惊人。

但是这意味着说不对三个身体问题没有解决方案?戈洛斯已经表明,通用不存在解决方案五等式方程,至少从根的角度来看。但实际上,用椭圆函数或超几何函数来表示解仍然是完全可能的。那么,为什么不能有更复杂的函数类来“解决三体问题”?

以下是一些在三体问题中实际发生的东西的图片,具有各种初始条件:

三体问题图

eqns = {下标[m,1] *衍生物[2] [下标[r,1]] [t] ==  - ((下标[m,1] *下标[m,2] *(下标[r,1] [t]  - 下标[R,2] [t]))/常规[下标[R,1] [T]  - 下标[R,2] [T] ^ 3) - (下标[M,1]*下标[m,3] *(下标[r,1] [t]  - 下标[r,3] [t])/常规[下标[r,1] [t]  - 下标[r,3] [t]]^3, Subscript[m, 2]* Derivative[2][Subscript[r, 2]][ t] == -((Subscript[m, 1]* Subscript[m, 2]*(Subscript[r, 2][t] - Subscript[r, 1][t]))/ Norm[Subscript[r, 2][t] - Subscript[r, 1][t]]^3) - (Subscript[ m, 2]*Subscript[m, 3]*(Subscript[r, 2][t] - Subscript[r, 3][t]))/ Norm[Subscript[r, 2][t] - Subscript[r, 3][t]]^3, Subscript[m, 3]* Derivative[2][Subscript[r, 3]][ t] == -((Subscript[m, 1]* Subscript[m, 3]*(Subscript[r, 3][t] - Subscript[r, 1][t]))/ Norm[Subscript[r, 3][t] - Subscript[r, 1][t]]^3) - (Subscript[ m, 2]*Subscript[m, 3]*(Subscript[r, 3][t] - Subscript[r, 2][t]))/ Norm[Subscript[r, 3][t] - Subscript[r, 2][t]]^3}; (SeedRandom[#]; {Subscript[m, 1], Subscript[m, 2], Subscript[m, 3]} = RandomReal[{0, 1}, 3]; inits = Table[{Subscript[r, i][0] == RandomReal[{-1, 1}, 3], Subscript[r, i]'[0] == RandomReal[{-1, 1}, 3]}, {i, 3}]; sols = NDSolve[{eqns, inits}, {Subscript[r, 1], Subscript[r, 2], Subscript[r, 3]}, {t, 0, 100}]; ParametricPlot3D[{Subscript[r, 1][t], Subscript[r, 2][t], Subscript[r, 3][t]} /. sols, {t, 0, 100}, Ticks -> None]) & /@ {776, 5742, 6711, 2300, 5281, 9225}

看看这些,马上就能看出为什么仅仅“解决三体问题”是不容易的。是的,有些情况下发生的事情是相当简单的。但也有一些情况不是这样的,三个物体的轨迹在很长一段时间内仍然是复杂和纠结的。

那么这里到底发生了什么?我不认为传统数学是我们研究的对象。但我认为我们看到的其实是一个普遍现象的例子,我称之为计算不可约性这是我在20世纪80年代研究可能程序的计算宇宙时发现的。

许多程序,如三体问题的许多实例,以相当简单的方式行事。但是,如果您刚刚开始查看所有可能的简单程序,则在开始看到这样的行为之前,它就不需要时间:

细胞自动机的数组

ArrayPlot[CellularAutomaton[{#, 3,1}, {{2}, 0}, 100], ImageSize -> {Automatic, 100}] & /@ {5803305107286, 2119737824118, 5802718895085, 4023376322994, 6252890585925}

你怎么知道会发生什么?好吧,我们可以一直显式地运行每个程序,看看它能做什么。但问题是:是否有一些系统的方法可以向前推进,并在不追踪所有步骤的情况下预测将会发生什么?

答案是,一般来说没有。我称之为计算等价原则这表明,只要一个人看到复杂的行为,就不会有。

这是思考这个的方式。系统一个人的学习是有效地进行计算,以解决其行为将是什么。因此,我们在某种程义上跳过我们必须做一个更复杂的计算。但计算量的原则所说的是,实际上我们不能 - 以及我们是否使用我们的大脑或我们的数学或者图灵机或者其他事情,我们总是被同样复杂的计算所困。

那么三体问题呢?好我强烈怀疑这是一个计算不可简化的一个例子:实际上它正在做的计算是如此复杂的是我们能做的任何计算,所以我们无法期望系统地跳过并解决问题。(我们也不能期待确定一些新的有限功能可以评估可以提供解决方案。)

我是希望有一天有人会严格证明这一点。有一些人技术性的困难,因为三体问题通常用实数立即具有无限数量的数字 - 但要与普通计算进行比较,则必须需要有限流程建立初始条件.(最后一个例子是,有一种“编译器”可以从任何程序,比如图灵机,并且能够生成指令来为三体问题建立初始条件,从而使三体问题的演化将给出与运行该程序相同的结果——这意味着三体问题能够通用计算.)

我不得不说我认为牛顿非常幸运。这可能是,在没有遇到与月球运动的情况下,没有遇到这种困难的事情,这可能是不可能的 - 因为人们始终跑进计算不可制定。但事实上,有足够的计算还原性,并且足够容易地计算一个人可以看到该理论在预测世界的特征(并且没有出现错误的答案,就像月球的APSE) - 即使在那里是一些可能需要两个几个世纪的部分来解决,或者永远不可能。

牛顿本人当然是意识到潜在的问题他说,如果一个人在研究许多行星之间的引力相互作用,那么“用精确的定律来定义这些运动,承认很容易计算,如果我没弄错的话,超过了任何人类思维的力量”。即使在今天,也很难知道太阳系的长期演化会是什么样子。

这并不特别依赖于初始条件:我们实际上有足够精确的测量来确定在很长一段时间内会发生什么。问题是我们只需要做一些计算——有点像计算π的数字——来算出n- 对手的问题是我们的太阳系。

现有的模拟表明,也许在几千万年内,不会发生太戏剧性的事情。但在那之后,我们不知道。行星可能会改变它们的顺序。甚至可能碰撞,或者从太阳系中弹出。计算不可约性意味着,至少在无限长的时间之后,它实际上是正式不可判定的在某种意义上哥德尔定理或者停止问题会发生什么。

我的一个孩子,在他们很小的时候,问我恐龙存在的时候地球是否可能有两个月亮。多年来,当我遇到天体力学专家时,我会问他们这个问题——他们发现这个问题有多么困难,这是值得注意的。现在大多数人认为,至少在恐龙时代,我们不可能有一个额外的月球——尽管10亿年前还不清楚。

过去我们只研究一个行星系统。而(当时)有9个的事实曾经是一个古典哲学家的例子关于这个世界的一个真相,它只是碰巧是这样的,并不“一定是真的”(比如2+2=4)。但是现在我们当然知道了很多系外行星.似乎有一种理论可以解释一个太阳系可能有多少颗行星

在某种程度上,这可能是一个类似自然选择的过程:一些行星的结构不是这样的“足够适合”以保持稳定只有存活下来的人才能存活下来。在生物学中,传统上认为自然选择和适应是导致我们所看到的复杂性的原因。但实际上我对此深表怀疑相反,它只是计算宇宙中普遍发生的事情的反映——在生物学和天体力学中都是如此。在天体力学中,我们还没有在野外看到任何特别复杂的形式(超越了几个复杂的环隙结构,翻滚的卫星和小行星)。但也许在其他地方,我们会看到类似三体问题的那些明显复杂的解决方案,更接近我们在生物学中所习惯的。

值得注意的是,如此多不同领域的问题是如此相似。例如,使用"微扰理论自18世纪以来在天体力学中存在的级数展开现在也是量子场论的核心。但就像在天体力学中一样,收敛也有问题(也许在天体力学中应该尝试重正化或恢复)。最后,人们开始意识到一些现象——毫无疑问,比如湍流或三体问题——不可避免地涉及到更复杂的计算,这些问题需要用传统数学来研究,而不是牛顿和他的追随者们所采用的那种成功的数学这种科学这来自于对计算宇宙的探索。

接近现代

让我们回到月球运动的故事。在布朗的表格和Poincaré的理论工作之间,到20世纪初,人们的普遍印象是,任何能够合理计算出月球运动的东西都已经被计算出来了。

偶尔有测试。例如,在1925年,在纽约市有太阳日食的总食,而且纽约时报也许经过透彻地说,“科学家们[是]时......想知道它们是否是错误的,因为eclipse落后五秒钟”。事实是,预测准确到5秒非常好,即使在今天也不能做得更好。(顺便说一下,实际文章广泛谈论“棕色教授” - 以及Eclipse如何“拒绝爱因斯坦”并证实存在“coronium但没有详细说明所谓的预测错误。)

报纸文章

实际上,布朗的表格并不容易使用:要从这些表格中找到月球的位置,需要大量的机械计算器工作,以及仔细地抄写数字。这导致Leslie Comrie.在1932年提出使用一种基于穿孔卡片的IBM Hollerith自动制表机——并在托马斯沃森,首席执行官国际商用机器公司,建立了第一个“科学计算实验室”的是什么 - 自动化棕色桌子的计算。

自动制表

(20世纪60年代末,在电子计算器出现之前,我在英国上小学的时候,总是随身带着计算尺,一本关于“四位数数学表格”的小书。我觉得很奇怪,这样一本书居然有作者——也许正因为如此,我至今还记得它的名字:“L。j . Comrie”。)

到了20世纪50年代,布朗表格中的计算逐渐被重新安排和改进,使其更适合于计算机。然后用约翰•肯尼迪(John f . Kennedy)在1962年的“我们选择登月”演讲中,人们突然对获得月球位置的最精确计算产生了迫切的兴趣。然而,结果是,它基本上只是布朗表格的一个微调版本,运行在一台大型计算机上,为阿波罗计划

起初,计算机在天体力学中纯粹用于数值计算。但到了20世纪60年代中期,也有人尝试用它们进行代数计算,特别是自动生成级数展开。华莱士埃克特IBM开始使用FORMAC重做布朗的桌子,而在剑桥,大卫·巴顿和史蒂夫·伯尼(后来成为了Unix中的“Bourne shell”(sh))建造自己的骆驼计算机代数系统尝试延长Delaunay的那种东西。(到1970年,Delaunay的第7阶计算已扩展到第20阶。)

当我自己在1976年开始研究计算机代数(主要用于粒子物理的计算)时,我当然听说过CAMAL,但我不知道它被用于什么(除了模糊的“天体力学”)。作为20世纪70年代末的一名实践理论物理学家,我不得不说,在18世纪和19世纪十分突出的“月球问题”,到那时已经完全不为人知了。

我记得在1984年问过一个马丁古兹威尔谁在谈论量子混乱,其主要兴趣实际上是什么。当他说“月亮问题”时,我被涂上了;我不知道月亮仍然存在任何问题。正如轮到写这篇文章的那样,我发现Gutzwiller实际上是接管埃克特的人,并且花了近二十年来试图改善月球位置的计算。

为什么不仅解决它?

解决三体问题的传统方法很大程度上来自于数学思维方式。但现代计算思维立即提出了一种不同的方法。给出了三体问题的微分方程,为什么不直接解出来呢?事实上,在Wolfram语言有一个内置函数NDSolve用于数值求解微分方程组。

如果我们输入一个三体问题的方程会发生什么?下面是方程:

eqns ={下标[m, 1](下标[r, 1][t] -下标[r, 2][t]) / Norm[下标[r, 1][t] -下标[r, 2][t]]^3) -(下标[m, 1][t] -下标[r, 3][t]) / Norm[下标[r, 3](下标[m, 1][t] -下标[r, 3][t])[t] -下标[r, 3][t]]^3,下标[m, 2](下标[r, 2][t] ^[撇]\[撇])[t] == -((下标[m, 1]下标[m, 2][撇]\[撇])/ Norm[下标[r, 2][t] -下标[r, 1][t]]^3) -(下标[m, 2][撇][撇]-(下标[r, 2][撇][撇])[t]) / Norm[下标[r, 2][t] -下标[r, 3][t]]^3,下标[m, 3](下标[r, 3][t] ^ [Prime]\[Prime])[t] == -((下标[m, 1]下标[m, 3][t] -下标[r, 1][t]]^3) / Norm[下标[r, 3][t] -下标[m, 3][t] ^3) -(下标[m, 2]下标[m, 3][t] ^3)3] [t] -下标[r 2] [t ]))/      规范(下标(r, 3] [t] -下标[r, 2] [t]] ^ 3};

eqns ={下标[m, 1](下标[r, 1][t] -下标[r, 2][t]) / Norm[下标[r, 1][t] -下标[r, 2][t]]^3) -(下标[m, 1][t] -下标[r, 3][t]]^3)/ Norm[下标[r, 1][t] -下标[r, 3][t]]^32](下标(r, 2) ^ \[主要]\[主要])[t] = = - - - - - -((下标(m, 1)下标(m, 2)(下标[r, 2] [t] -下标[r, 1] [t])) /规范(下标[r, 2] [t] -下标[r, 1] [t]] ^ 3)——(下标(m, 2)下标(m, 3)(下标[r, 2] [t] -下标(r, 3] [t])) /规范(下标[r, 2] [t] -下标(r, 3] [t]] ^ 3,下标(m, 3)(下标(r,3] ^ \[主要]\[主要])[t] = = - - - - - -((下标(m, 1)下标(m, 3)(下标(r, 3] [t] -下标[r, 1] [t])) /规范(下标(r, 3] [t] -下标[r, 1] [t]] ^ 3)——(下标(m, 2)下标(m, 3)(下标(r, 3] [t] -下标[r, 2] [t])) /规范(下标(r, 3] [t] -下标[r, 2] [t]] ^ 3};

现在,作为示例,让我们将质量设置为随机值:

{Subscript[m, 1], Subscript[m, 2], Subscript[m, 3]} = RandomReal[{0,1}, 3]

{Subscript[m, 1], Subscript[m, 2], Subscript[m, 3]} = RandomReal[{0,1}, 3]

让我们定义每个物体的初始位置和速度也是随机的:

init =表[{下标(r,我][0]= = RandomReal}{1, 1, 3,导数[1][下标(r,我]][0]= = RandomReal[{1 1}, 3]},{3}我]

init =表[{下标(r,我][0]= = RandomReal}{1, 1, 3,导数[1][下标(r,我]][0]= = RandomReal[{1 1}, 3]},{3}我]

现在我们可以用NDSolve为了得到解(它以隐式近似数值函数的形式给出t):

sols = NDSolve[{eqns, init}, {Subscript[r, 1], Subscript[r, 2], Subscript[r, 3]}, {t, 0,100}]

sols = NDSolve[{eqns, init}, {Subscript[r, 1], Subscript[r, 2], Subscript[r, 3]}, {t, 0,100}]

现在我们可以绘制它们。现在我们已经解决了一个三体问题的解决方案!

parametricplot3d [评估[{下标[r,1] [t],下标[r,2] [t],下标[r,3] [t]} /。First [Sols],{T,0,100}]

parametricplot3d [评估[{下标[r,1] [t],下标[r,2] [t],下标[r,3] [t]} /。First [Sols],{T,0,100}]

很明显,这是在使用Wolfram语言和现代技术的巨大塔。但是从一开始,人们是否有可能直接用数值方法来解决三体问题,而不是做所有的代数运算呢?早在18世纪,欧拉就知道现在的名字了欧拉法求微分方程的近似数值解。如果他只是用这个方法来计算月球的运动呢?

该方法依赖于在时间上采取一系列离散的步骤。如果他使用,比如说,一分钟的步长,那么他必须采取40000个步骤才能得到一个月的结果,但他应该能够成功地将月球的位置复制到大约百分之一。然而,如果他试图延长到3个月,那么他将是一个成功的选择我已经至少有10%的错误了。

在实践中,任何求解微分方程的数值格式最终都会产生某种误差,但人们对所解的方程及其期望解了解得越多,就越能对其进行预处理和调整,以使误差最小化。NDSolve拥有足够的自动适应性,建立在典型的三体问题上的令人惊讶的很长一段时间内。(它有助于Wolfram语言和NDSolve能应付任意精度数,而不仅仅是机器精度。)

但是,如果一个看起来,在三体系的总能量上,可以从方程式证明哪一个应该保持常量 - 那么一个人通常会看到误差缓慢地积聚。如果一个人有效地执行方程中的变量改变为“因子掉”能量,则可以避免这种情况。人们可以想象在某种意义上,在某种意义上使数值方案尽可能多地提供数值方案的整个等级。

事实上,至少从20世纪80年代开始,这就是在三体问题和地-月-日系统的实际工作中所做的。所以实际上,它是十八、十九世纪传统代数方法和现代数值计算的结合。

真正的地球-月球-太阳问题

那么,要解决地球-月球-太阳系统的真正问题需要什么呢?标准的三体问题给出了一个非常好的近似值来描述正在发生的物理现象。但这显然不是故事的全部。

首先,地球并不是太阳系中唯一的行星。如果想要得到足够准确的答案,就必须考虑到其他行星的引力效应。最重要的是木星,它对月球轨道的典型影响大约是10-5例如,布朗不得不在他的表格中考虑它。

下一个效应是,地球不仅仅是一个质点,甚至不是一个精确的球体。它的自转使它在赤道处凸出,这就影响了月球在10点的轨道-6等级。

绕地球的轨道最终取决于整个质量分布和引力领域这是什么sputnik 1被标称推出到地图) - 这两个都是这个,而月亮的反向效果,在10中进来-8等级。在10-9水平来自潮汐变形(“固体潮汐),以及来自地球和月球引力红移和其他广义相对论现象。

要尽可能准确地预测月球的位置,最终必须至少有一些模型来解释这些不同的影响。

但是有一个更直接的问题来处理:一个人必须了解地球,太阳和月亮的初始条件,或者换句话说,一个人必须尽可能准确地了解他们的位置和速度在某个特定时间。

而且方便地,现在有一个非常好的方法来做,因为阿波罗11.1415全部离开激光反光镜在月球上。通过精确计时激光脉冲从地球到这些反向反射器的往返时间,现在就有可能以毫米的精度测量月球的位置。

那么,现代的巴比伦蜉蝣是如何运作的呢?在内部,他们处理的是太阳系中所有重要天体的方程。他们做符号预处理,使他们的数字工作尽可能容易。然后他们直接解系统的微分方程,适当地插入模型,比如地球上的质量分布。

他们从特定的测量初始条件开始,然后反复插入新的测量值,试图修正模型的参数,以最优地重现所有的测量值。这很像一个典型的机器学习任务 - 在此处的培训数据是对太阳系的观察(并且通常适用于最小二乘法).

但是,好吧,有一个模型可以用来计算月球的位置。但我们不希望每次需要得到结果时都明确地这么做;实际上,人们想要的只是存储一个包含预计算结果的大表,然后做一些类似的事情插值为了得到任何特定的结果。事实上,这就是今天的做法。

到底是怎么做的

回到20世纪60年代,NASA开始直接求解行星运动的微分方程。月亮更难以处理,但到了20世纪80年代,也是以类似的方式处理的。添加了像月球后退反射器这样的事情的持续数据,也插入了所有可用的历史数据。

这一切的结果是JPL发展星历表(JPL DE)。除了使用新的观测数据,底层系统每隔几年就会更新一次,通常是为了获取一些宇宙飞船前往太阳系新地方所需的信息。(最新的是DE432,专为去旅行而设计的冥王星.)

但是实际的星历是如何传递的呢?好吧,每覆盖一千年,星历就有大约100兆字节的结果,作为数据的系数给出切比雪夫多项式,便于内插。对于任何给定的量在任何给定的坐标系中在特定的时间内,我们可以得到这些结果的适当部分。

好吧,但是怎样才能发现日食呢?这是一个反复的过程。从近似开始,也许是从纱罗周期开始。然后插入星历,看看结果。然后继续迭代,直到发现月球什么时候会在合适的位置。

但实际上还有更多要做。因为最初计算的是各种身体的重心(质量中心)的位置。但现在一个人必须弄清楚身体如何定向。

地球在自转,我们知道它的速度相当精确。但月球基本上是锁定在同一面指向地球,除了在实践中有小诽谤“月球前后摆动一点,这些结果特别难以预测。

计算Eclipse

假设有人知道地球,月球和太阳的位置。那么,我们该如何确定日食会发生在地球的哪个位置呢?还有一些进一步的几何问题要做。基本上,月球在由太阳位置决定的方向上产生了一个圆锥阴影,然后需要弄清楚地球表面如何与这个圆锥相交。

1824年弗里德里希·贝塞尔建议使用阴影锥定义一个坐标系,在该坐标系中指定太阳和月亮的位置,从而有效地反转问题假元素提供一个方便的食的局部几何的总结-它的路径可以被定义。

好吧,但是我们怎么才能算出月食在什么时候会到达地球上的某一点呢?首先,我们必须清楚自己对时间的定义。现在有一个关于光速的直接问题狭义相对论.地球和太阳的位置在某一时刻是某一时刻,这意味着什么?因为光从太阳到达地球需要8分钟,所以我们只能看到太阳8分钟前的位置,而不是现在的位置。

我们需要的是一部经典之作狭义相对论设置。我们基本上想象太阳系充满了由光脉冲同步的时钟组成的网格。现代星历所做的是引用太阳系中天体相对于这些时钟上时间的位置的结果(广义相对论这意味着在不同的引力场中,时钟会以不同的速度运行,但对于我们的目的来说,这是一个很小的影响。但不是很小的影响是在方程中包含延迟n- 对手的问题 - 让他们成为延迟微分方程.)

但现在还有另一个问题。如果一个人正在观察日食,他将使用一些计时器(电话?)来计算它是什么时间。如果它工作正常,那么计时器应该显示基于时间的官方“民用时间”UTC- 那是什么国家结核控制规划上网时间同步到。但问题是,UTC与天文星历所用的时间有着复杂的关系。

起点是所谓的UT1.:一种时间的定义,其中一天是地球相对于太阳旋转一次的平均时间。但关键是,这个平均时间不是恒定的,因为地球的自转速度正在逐渐变慢,主要是由于与月球的相互作用。但与此同时,UTC是由一个原子钟定义的,它的计时与地球自转无关。

保持UT1与UTC一致有一个约定:如果UT1与UTC的距离超过0.9秒,则a闰秒添加到UTC。有人可能会认为这将是一个微小的影响,但实际上,自1972年以来,共有27个闰秒已被添加。当需要新的闰秒时是不可预测的;这取决于像地震发生的事情。但如果我们将在与UTC或互联网时间的第二个相对于exte of the将Eclipse的时间置于Eclipse正确的时间,我们需要考虑闰秒。

还有一些其他的影响,对精确观测日食的时间也很重要。最明显的是地理海拔. 在进行天文计算时,地球被假定为椭球体。(有许多不同的定义,对应于不同的大地“论据”- 这是在定义“海平面”这样的问题中的问题,但这里并不相关。)但是如果您在椭圆体上方的不同高度,则来自Eclipse的阴影锥将在不同的时间到达您。这种效果的尺寸可以高达每1000英尺高的0.3秒。

我们谈到的所有效果我们都可以随时考虑。但是有一个剩下的效果,有点困难。直到完全的开始或结束,一个通常会看到月球边缘的光点。作为。。而被知道贝利珠子,这些是光线的结果,使其在月球上的山脉之间。当所有这些光线熄灭时都是完全搞清楚需要服用月亮的Geo高程数据,有效地完成全3D射线跟踪。效果可以持续一秒钟,并且可能导致总体的精确边缘移动到一英里。(人们还可以想象与太阳的电晕有关的效果,这是不断变化.)

但最终,即使地球上月亮的阴影超过1000英里/小时,现代科学成功地使得当影子将到达地球上的特定点到达可能的准确性时可能会计算。这就是我们的precisioneclipse.com网站设置要做到。

Eclipse的经历

我第一次看到日偏食50多年前。我见过一个总日食在我生命之前 - 在1991年。它是最长的日食(6分53秒),这将是一个多个世纪。

尽管如此,鉴于我们现在努力预测下周的日食的确切抵达时间,尤其是我们的经验。我’d chartered a plane and flown to a small airport in Mexico (yes, that’s me on the left with the silly hat)—and my friends and I had walked to a beautiful deserted beach, and were waiting under a cloudless sky for the total eclipse to begin.

1991年日食旅行照片

我为自己做好了充分的准备而感到自豪——用地图标出了日食到来的时间。但后来我意识到:我们在海滩上,没有明显的现代文明迹象,也没有人带任何正确设置的计时设备(在那个时候,我的手机只是一个电话,那里甚至没有信号)。

因此,我错过了一个令人印象深刻的科学成就的演示。相反,我经历了日食,就像历史上人们经历日食一样——尽管我知道月球会继续逐渐侵蚀太阳,最终将其覆盖,它不会导致世界末日。

天文事件总能让人清醒,让人意识到人类的尺度与它们相比是多么的渺小。在地球的历史过程中发生过数十亿次日食。有记载的历史只涵盖了其中的几千个。平均来说,地球上任何地方大约每400年就会发生一次日食;在WY的杰克逊,我计划在那里看下周的日食,结果是下一次日全食从现在起的727年,2744年。

在早期,人类文明建造巨大的纪念碑来庆祝太阳和月亮的运动。对于下周的月食我们要做的是网站.但是这个网站是建立在人类思想史的伟大史诗之上的——可以追溯到最早的系统科学时代,包括过去几个世纪最著名的科学家和数学家的杰出贡献。

我在1991年看到的日食以来大约9538天。月亮将在地球上旅行约500万英里,地球周围约150亿英里。但现在 - 在一个非常胜利的科学胜利 - 我们在他们再次排队时计算第二次。

发布:18luck 数学物理学

10评论

  1. 精彩的文章,感谢你通过一个从计算工作简单有效的角度了解这一主题的人的视野和实践经验来阐释如此迷人的古代和现代历史。
    也谢谢你把你一定是相当大的宝贵时间奉献给这个主题,如此明显的喜悦在现代方法的力量!

    伯纳德
  2. 你的计算程序参考什么时钟的时间,以便我可以对我的手表?

  3. 你需要用你的总体计算器检查一些东西。有一个错误,可能与你用来计算感兴趣的地理位置的长LAT的数据库有关。我住在不列颠哥伦比亚省的吉布森和塞切尔特两个小镇之间。我试着在计算器中使用这两个,即使它们是从距离上看,相距约15公里,日食开始时间的差异为一小时!这表明您的DB可能有一个时区与另一个时区不同,这是不正确的。

    我希望这是你程序中唯一的错误!
    最好的事物,
    Howard Katz

    • 抱歉给你添乱了,霍华德;其中一个位置在GMT-8中计算,另一个在PDT中计算。不同的时区应该解释这种不规则性!

      行政
  4. 权威,只需高明!这张和Ramanujan的那张是我的最爱!感谢分享

  5. 计算器是可怕的。现在它需要更新,以确定下一次日食的时间。

    约翰
  6. 1984年,法国天文学家情侣Jean Chapront和Michelle Chapront-Touzý在巴黎的董事会工作,发表了新的分析月球理论。通过考虑到超过36000多种定期术语来达到捕获的术语来达到迷人的准确性。您是否能够将此分析理论定位在您的论文中?
    比利时日食专家让·米乌斯(Jean Meeus)分析了Chapront的数学,并在准备工作中使用了最大的5000个周期项,推导出了贝塞利日食元素(Besselian eclipse-elements),这是与美国国家航空航天局(NASA)的日食专家弗雷德·埃斯佩纳克(Fred Espenak)合作计算和编写的。

  7. 好文章。

    马丁
Baidu