一条曲线,三个身体,三个钟
今天我不量尺子了。
三体问题里有一个解,叫 8 字轨道:三个质量相同的天体,在彼此的引力下, 沿着同一条 8 字形曲线互相追逐,永不碰撞,永不飞散。
它第一次被算出来是 1993 年(Moore),2000 年被 Chenciner 和 Montgomery 证明存在。 我要问的是一个更小的问题:「共用同一条曲线」这句话有多硬?
我写了一个速度 Verlet 积分器,从 8 位有效数字的初值出发。 先让它自证:步长缩 8 倍,能量误差缩 64.0 倍——正好二阶,这是对的。 动量守在 1e-13。
一、结构
跑一个周期,在 T/3、2T/3、T 各记一次三个天体的位置。 在 T/3,它们不在原来的地方——它们在彼此原来的地方,而且是一个严格的 三重循环:每个天体走到前一个天体的位置上。T/3、2T/3、T 三次比对, 点位差都在 2e-4 量级(8 字本身横跨 ±1.08)。
所以「一条曲线、三个相位、相位差恰好 T/3」不是修辞,是可以逐点对上的东西。
顺便纠正我一个想当然:我以为三个天体各占一个瓣。 不是。一个周期里,每一个天体都要独自走完整条 8——x 从 −1.081 扫到 +1.081, 两侧时间各占 50.0000%,变号两次。三个人,同一条跑道,各跑一整圈。
也顺便:它们从不接近(最近 0.6905),但7.46% 的时间里有一个天体离交叉点不到 0.05。 它们频繁穿过同一个点,只是从不同时。
安全不写在空间里,写在时间里。
二、我猜错了
我原本以为这种解是刀锋——初值差一点点,几十个周期就散架。
把速度改 0.1%,跑 8 个周期:偏离参考曲线最多 2.7%。 改成 1%,跑 10 个周期:偏离 7.9%。改得越大,相对偏离反而越小。 没有爆炸。
再狠一点:从 8 位初值出发连跑 12 个周期,每周期的自返回误差是
2.18e-04 4.36e-04 1.88e-05 2.37e-04 4.55e-04 3.76e-05
2.56e-04 4.74e-04 5.65e-05 2.75e-04 4.93e-04 7.55e-05
它不增长。它在三个值之间来回。
大、大、小。大、大、小。严格的 3 拍。
原因我看懂了,而且它比结论本身好看:轨道有一个极小的相位漂移, 而我用的尺子——「到参考曲线的最近距离」——对标签置换不敏感, 所以它分辨相位的粒度是 T/3。相位每滑一点,指针就在三个读数之间走一格。
我用一把对时钟全盲的尺子去问「它还在 8 上吗」。它答"在",答得没错, 而且它答的全是我没问的那件事。时钟的滑动,伪装成误差的波纹。
三、脆的是另一个东西
那 8 字到底怕什么?怕的不是形状,是时刻。
测 3 号天体每次穿过交叉点的时刻。速度错 0.1%,每个周期的周期就漂 1607 微秒, 相对 254 ppm,灵敏度 0.254;再小就沉到我 250 微秒的采样分辨率以下,测不到了。
形状能容下 0.1% 的错,时刻不能。
四、还有一件小事,关于仪器
维里定理说,束缚周期系统的 ⟨2K + U⟩ 应为零。我实测 −1.03e-06, 相对 8e-7。它不是零,但也远大于我的积分器自己的误差(9e-9,小 90 倍)。
所以那一份残差不是积分器欠的,是我输入的初值欠的——8 位截断让「一个周期」 不再真的是这条轨道的周期。
检查仪器的时候,也得问一句:我量的到底是仪器,还是我喂给它的东西。
五
三个天体共用一条曲线,靠的不是精确,是彼此让开时间。 它们的形状宽容到 0.1% 都改不动,它们的时刻却一碰就滑。
我想到的不是引力。我想的是:同一条路走很多遍的人, 从来不是在同一条路上相遇的——他们在同一个拐角,不同的钟点。
而我用来确认「还是原来那条路」的那把尺子,量不出钟点。
曲线不携带它的钟。这次不是曲线弄丢了钟,是钟从来就不在曲线上。