つくる格子第 17 回 / 平坦な格子で、水星が回る

第3回の宿題を、論証から計算に変える ── 歪みは要らない。ただし差分には条件がひとつ

平坦な格子で、水星が回る 第3回は「足りなかったのは方向依存の一語だけだった」と書きました。
あれは論証で、計算していません。図も弱場のスカラーで、ずれを「一次近似」と注記して逃げていました。
今回やります ── 座標を一度も歪ませずに、水星の近日点移動を出す。
42.9807 秒角/世紀。観測とも一般相対論とも一致します。

必要な道具:第3回(平坦な舞台)、番外編②(ct=一定)、数値積分 この回の芯:ずれを変数にしないと差分は解けない

このシリーズの読者から一貫して出ている立場があります ── 空間は歪まない。歪む代わりに光の進み方が変わる。そして宇宙は差分で計算できる。
第3回はこれに「テンソルなら建つ」と答えましたが、建てて見せてはいませんでした。この回は建てます。使うのは平坦なユークリッド座標だけで、格子は最後まで直交したまま。
結果は二つに分かれます。物理は完全に通ります ── 42.9807 秒角/世紀、GR 比 1.0000。
そして差分には、省略できない条件が一つ見つかりました。好みの問題ではなく、倍精度で解ける/解けないの境目です。

◆ ◆ ◆

01舞台を作る ── 歪ませない

座標はこれだけです。最後まで変えません。

$$dx^2+dy^2+dz^2\qquad\text{(ユークリッド。直交格子。歪まない)}$$

歪む代わりに、各点に関数を2つ置きます。

等方座標のシュワルツシルト(厳密)
$$ds^2=-A(\rho)^2\,dt^2+B(\rho)^4\,(dx^2+dy^2+dz^2)$$ $$A=\frac{1-u}{1+u},\qquad B=1+u,\qquad u=\frac{m}{2\rho},\qquad m=\frac{GM}{c^2}$$

\(\rho=\sqrt{x^2+y^2+z^2}\) はただのユークリッド距離。近似ではありません ── これはシュワルツシルト解を書き直したもので、厳密です。

ここが要点です。空間の部分は \(dx^2+dy^2+dz^2\) のままで、前に \(B^4\) という数が掛かっているだけ。格子は歪んでいません。歪んだように見えるのは、格子の上に載っている「進みにくさ」が場所によって違うからです。

関数が2つあることが、あとで効きます。時間側の \(A\) と空間側の \(B\) は別の関数です。これが第3回の「一語」の正体でした。

番外編②との整合 番外編②で「\(c\) が変わる、と読むと死ぬ ── \(c\) は次元を持つので観測者によらない意味がない」と書きました。それは正しく、ここでも \(c\) は動かしていません。
動かしているのは座標での光の進み方、\(|d\vec x/dt|=A/B^2\) です。これは無次元の比なので、意味を持ちます。光学の言葉なら屈折率
◆ ◆ ◆

02積分する

ハミルトニアン形式で書くと、差分に落としやすい形になります。\(c=1\)、\(F=A^{-2}\)、\(G=B^{-4}\) として ──

運動方程式(\(\lambda\) は固有時)
$$H=\tfrac12\bigl(-E^2F+|\vec p\,|^2G\bigr)=-\tfrac12$$ $$\frac{dx_i}{d\lambda}=p_i\,G,\qquad \frac{dp_i}{d\lambda}=-\tfrac12\Bigl(-E^2F'+|\vec p\,|^2G'\Bigr)\frac{x_i}{\rho}$$

\(E\) は保存量(時間方向の運動量)。近日点から接線方向に打ち出し、RK4 で回して、近日点を通るたびに方位角を記録します。方位角は途中で \(2\pi\) に畳まず、最初から累積で持ちます ── ここは実際に一度間違えました(後述)。

実行 ── 水星
# 太陽 m = GM/c^2 = 1476.6250 m
# 水星 a = 5.790905e10 m, e = 0.2056302, T = 87.9691 日
# 弱さの目安  m/a = 2.550e-08

一般相対論の予言  6 pi m /(a(1-e^2)) = 5.018663e-07 rad/周
                                     = 42.9807 arcsec/世紀

# 刻みの収束(厳密シュワルツシルト、4周)
  steps/周 = 2000        42.9860   GR比 1.000124   (0.1 秒)
  steps/周 = 5000        42.9808   GR比 1.000004   (0.2 秒)
  steps/周 = 10000       42.9807   GR比 1.000000   (0.4 秒)
  steps/周 = 20000       42.9806   GR比 0.999999   (0.9 秒)

# 本番(10000 steps/周、6周)
  厳密シュワルツシルト(等方座標)   42.9807 arcsec/世紀   GR比 1.0000

出ました。座標は一度も歪ませていません。ユークリッド格子の上に \(A\) と \(B\) を置いて測地線を積分しただけです。

◆ ◆ ◆

03「一語」を抜くと、どうなるか

第3回の主張を検証します ── 空間側の関数を落としたら、どれだけ外すのか。

PPN 形式で書くと、ちょうど一つのつまみになります。\(U=m/\rho\) として

$$ds^2=-\bigl(1-2U+2\beta U^2\bigr)dt^2+\bigl(1+2\gamma U\bigr)\bigl(dx^2+dy^2+dz^2\bigr)$$

\(\gamma\) が「空間側の一語」です。\(\gamma=0\) は空間を素のユークリッドに戻すこと ── 時間の進みだけが場所で変わる、いちばん素朴な「可変光速」の読み方です。一般相対論は \(\gamma=1\)。

実行 ── \(\gamma\) を振る
  モデル                       近日点移動        GR比
 -----------------------------------------------------
  厳密シュワルツシルト        42.9807 arcsec/世紀   1.0000
  PPN  gamma = 1              42.9807               1.0000
  PPN  gamma = 0.5            28.6538               0.6667
  PPN  gamma = 0              14.3269               0.3333

  解析式 (2 + 2 gamma - beta)/3 :
    gamma=1   -> 1.0000    42.9807
    gamma=0.5 -> 0.6667    28.6538
    gamma=0   -> 0.3333    14.3269      全桁一致

空間側を落とすと、答えが 3 分の 1 になります。14.33 秒角/世紀。水星の近日点移動は 19 世紀から測られていて、一般相対論以外の説明が全部失敗した歴史があります ── 3分の1は、失敗の側です。

そして \(\gamma\) は独立に測られています。カッシーニの電波遅延から

$$\gamma-1=(2.1\pm2.3)\times10^{-5}$$

\(\gamma=0\) は、この誤差で言えば 4万σ 以上離れています。「時間だけ変わって空間は素のまま」という読み方は、観測で潰れている。第3回の「一語」は、本当に必要な一語でした。

図:格子は直線のまま歪みません。歪む代わりに軌道が回ります。\(\gamma\) を下げると回転が遅くなり、\(\gamma=0\) で 3分の1 に。効果を見えるようにするため \(m/a\) を誇張しています(水星の実際の値は \(2.55\times10^{-8}\) で、1周あたり \(0.1\) 秒角)。読み出しの「比」が 1 から数%ずれるのはPPN が一次近似だからで、誇張を弱めると 1 に戻ります ── 水星の実際の値では 1.0000(本文 02 節)
歪まない直交格子 軌道 近日点の位置

格子線をよく見てください。一本も曲がっていません。回っているのは軌道だけです。

◆ ◆ ◆

04光では判定できるか ── 訂正

この回を計画したとき、私は「光は \(F/G\) の比しか見ないから \(\gamma\) を判定できない」と考えていました。間違いでした。計算すると光も \(\gamma\) を見ます。

光の曲がり(太陽の縁)水星の近日点
重みの形\(\dfrac{1+\gamma}{2}\)\(\dfrac{2+2\gamma-\beta}{3}\)
\(\gamma=1\)(GR)1.75120″(理論 1.75119)42.98″
\(\gamma=0\)0.87560″(ちょうど半分14.33″(ちょうど1/3

両方とも \(\gamma\) に反応しますが、重みが違います。そして光は \(\beta\) をまったく見ません ── 光の式に \(\beta\) が入っていない。だから \(\gamma\) と \(\beta\) を分離するには、光と水星の両方が必要です。観測が二種類ある理由が、式から出てきます。

第3回の「光は当たってしまう」との違い 第3回に「光だけが合ってしまうのは、ヌル測地線が共形不変だから」と書きました。あれは膨張宇宙(FRW)の話です。FRW は共形平坦なので、全体に共形因子を掛ける操作は光に見えない ── だから「平坦時空 × スケール因子」で光は厳密に合う。
いっぽう \(\gamma\) は共形因子ではありません。時間と空間に違う係数を掛けるので、光にも見えます。二つは別の話でした。混同していたので、ここに書いておきます。
◆ ◆ ◆

05本題 ── 差分で解けるのか

ここが、この回のいちばん実用的なところです。

上の運動方程式には \(F'\) と \(G'\) が出てきます。解析的な導関数を使えば通ることは、もう見ました。では、それを中心差分に置き換えたらどうなるか。「宇宙は差分で計算できる」という主張の、いちばん素直なテストです。

素朴にやってみる ── \(F,G\) をそのまま中心差分
  frac(刻み / rho)      近日点移動        GR比
 -------------------------------------------------
  1e-08              -135214.89 arcsec  -3145.94
  1e-06                 9168.33           213.31
  1e-04                 -153.46            -3.57
  1e-03                   22.49             0.52
  1e-02                   18.28             0.42

  どの刻みでも合わない。符号すら合わない。

符号が飛ぶほど壊れています。これは物理ではなく精度の問題です。理由を見積もると、はっきりします。

なぜ壊れるのか
① 近日点移動は、とても小さい補正

主力(ニュートン重力)に対して \(m/a=2.55\times10^{-8}\) の相対補正。1% の精度で出したければ、導関数の相対誤差は \(\eta\lesssim2.5\times10^{-10}\) でなければならない。

② ところが \(F\) は 1 に近い

\(F-1\simeq2m/\rho=5.1\times10^{-8}\)。1 のオーダーの数を倍精度で差分すると絶対誤差 \(\varepsilon\simeq2.2\times10^{-16}\) が乗るので

$$\eta\;\simeq\;\frac{\varepsilon}{4\,(m/\rho)\,\mathrm{frac}}\;=\;\frac{2.2\times10^{-9}}{\mathrm{frac}}$$
③ 二つの要求が両立しない

丸めから \(\mathrm{frac}>8.5\)。打ち切り(\(\sim2\,\mathrm{frac}^2\))から \(\mathrm{frac}<1.1\times10^{-5}\)。

刻みが半径の 8.5 倍かつ \(10^{-5}\) 倍でなければならない ── 不可能です。

倍精度の壁

計量をそのまま差分する素朴なやり方では、倍精度で水星の近日点移動は計算できません。

刻みをどう選んでも駄目です。必要なのは約 6 桁ぶんの余分な精度 ── 四倍精度にすれば通りますが、それは代金です。

◆ ◆ ◆

06越え方 ── ずれを変数にする

直し方は、数値相対論が実際にやっていることです。「1 からのずれ」を、桁落ちしない閉じた形で書く。

代数で先に 1 を引いておく
$$F-1=\frac{4u}{(1-u)^2},\qquad G-1=\frac{-u\,(4+6u+4u^2+u^3)}{(1+u)^4},\qquad u=\frac{m}{2\rho}$$

どちらの右辺にも「ほぼ 1 同士の引き算」がありません。だから \(u\) が \(10^{-8}\) でも、有効数字が丸ごと残ります。

これを差分すると、丸め誤差が「1 に対して」ではなく「\(F-1\simeq5\times10^{-8}\) に対して」になります ── 8 桁の得

ずれを差分する
  frac(刻み / rho)      近日点移動        GR比
 -------------------------------------------------
  1e-09                    42.9533       0.999361
  1e-07                    42.9826       1.000042
  1e-06                    42.9812       1.000010
  1e-05                    42.9808       1.000000
  1e-04                    42.9807       0.999999
  1e-03                    42.9811       1.000009

  通る。しかも 4 桁ぶんの刻みで安定。
  (見積りでは窓は 4e-7 〜 1e-5 の 1.4 桁だったので、見積りが保守的だった)
結論

平坦な格子 + 2つの屈折率関数 = 一般相対論。厳密に。

歪みは要りません。差分で解けます。水星は 42.9807 秒角/世紀 で回ります。

ただし「1 からのずれ」を変数にすること。これは書き方の好みではなく、倍精度で解ける/解けないの境目でした。数値相対論が deviation 変数(\(\gamma_{ij}=\delta_{ij}+h_{ij}\) の \(h_{ij}\) を持つ、など)を使うのは、まさにこれが理由です。

この回で自分が踏んだ穴 最初の実装で \(-5.4\times10^{8}\) 秒角/世紀という値が出ました。近日点の方位角を \(\pi\) 以内に畳んでいたせいで、1周ぶんの \(2\pi\) がまるごと落ちていたのが原因です。
気づけたのは光の曲がりが先に 1.75119 に合っていたから ── 積分器と計量が正しいと分かっていたので、残りは記録の側だと絞れました。陽性対照は、こういうときに効きます。第11回で \(\sqrt{12}\) を捕まえたのと同じ道具です。)
◆ ◆ ◆

07何が示せて、何が残るか

結果
歪まない格子で GR が出るか出る。42.9807″/世紀、GR 比 1.0000。座標は最後までユークリッド
「一語」は本当に必要か必要。落とすと 1/3(14.33″)。カッシーニの \(\gamma-1=(2.1\pm2.3)\times10^{-5}\) から 4万σ 以上
差分で解けるか解ける。ただしずれを変数にすること(素朴にやると倍精度では不可能)
大域構造届かない。地平面やトポロジーは座標の張り替えでは書けない(第3回の代償のまま)
平坦背景は観測できるかできない。だから優先系としては使えない ── 第2回の18桁問題も起こさないが、物理的な格子でもない

最後の行が、この立場の芯です。平坦な格子は「計算のための格子」としては完璧に使えて、「世界の基本構造としての格子」にはならない。そして計算のためだけなら、それで足ります ── 数値相対論は毎日それをやっています。

第16回で調べていたのは「刻みが物理的なとき」の話でした。そちらはローレンツ破れが発生し、対称性の機構が要る。この回でやったのは、刻みが数値的なときの話です。そちらには何の障害もありませんでした。

手を動かす
  1. \(\gamma=0,\beta=1\) を \((2+2\gamma-\beta)/3\) に入れて、42.98 秒角/世紀 が何になるか計算せよ。
    答えを見る
    \((2+0-1)/3=1/3\)。よって \(42.9807/3=\mathbf{14.3269}\) 秒角/世紀。本文の数値積分と全桁一致します。「時間だけ変わって空間は素のまま」だと、水星の答えは3分の1になる ── 19世紀の観測家が探していた 43 秒角には、まったく届きません。
  2. \(u=m/2\rho\) として \(A^{-2}-1\) を手で計算し、\(4u/(1-u)^2\) になることを確かめよ。
    答えを見る
    \(A^{-2}=\left(\frac{1+u}{1-u}\right)^2\) なので \(A^{-2}-1=\frac{(1+u)^2-(1-u)^2}{(1-u)^2}=\frac{4u}{(1-u)^2}\)。分子で \(1\) が消えているのが要点です。\((1+u)^2\) と \((1-u)^2\) を別々に計算してから引くと桁落ちしますが、この形なら \(4u\) が直接出るので有効数字が残ります。代数で先に引き算を済ませておく、というだけの工夫が、倍精度で解ける/解けないを分けました。
  3. 近日点移動の相対的な小ささ \(m/a=2.55\times10^{-8}\) と、倍精度の \(\varepsilon=2.2\times10^{-16}\) から、素朴な差分に必要な刻みの下限を出せ(1% 精度、\(\eta\simeq\varepsilon/(4(m/\rho)\,\mathrm{frac})\))。
    答えを見る
    必要な精度は \(\eta<0.01\times2.55\times10^{-8}=2.55\times10^{-10}\)。式から \(\mathrm{frac}>\frac{2.2\times10^{-16}}{4\times2.55\times10^{-8}\times2.55\times10^{-10}}\simeq\mathbf{8.5}\)。刻みが半径の 8.5 倍。いっぽう打ち切り誤差からは \(\mathrm{frac}<1.1\times10^{-5}\) が要る。両立しません ── これが「素朴な差分は倍精度では原理的に不可能」の中身です。

この回で分かったこと

歪まない格子の上に、一般相対論がそのまま建つ。 座標は最後まで \(dx^2+dy^2+dz^2\)。置いたのは \(A(\rho)\) と \(B(\rho)\) の2つだけ(等方座標のシュワルツシルト、厳密)。測地線を RK4 で積分して 42.9807 秒角/世紀、GR 比 1.0000。刻み 2000→20000 steps/周で収束を確認。

第3回の「一語」は本当に必要だった。 PPN の \(\gamma\) が空間側の一語。落とす(\(\gamma=0\)、空間を素のユークリッドに戻す)と 14.3269 秒角/世紀 = ちょうど 1/3。\(\gamma=0.5\) なら 2/3。解析式 \((2+2\gamma-\beta)/3\) と全桁一致。カッシーニの \(\gamma-1=(2.1\pm2.3)\times10^{-5}\) から、\(\gamma=0\) は4万σ 以上離れている。

光でも判定できる ── 計画時の見立てが違っていた。 「光は \(F/G\) しか見ないから \(\gamma\) を判定できない」と考えていたが、光の曲がりは \(\gamma=1\) で 1.75120″、\(\gamma=0\) で 0.87560″(ちょうど半分)。重みが \(\frac{1+\gamma}{2}\) と \(\frac{2+2\gamma-\beta}{3}\) で違うだけ。ただし光は \(\beta\) を見ないので、\(\gamma\) と \(\beta\) の分離には光と水星の両方が要る。第3回の「光は共形不変だから当たる」は FRW の話で、これとは別だった。

差分は解ける。ただし素朴にやると倍精度では不可能。 \(F,G\) をそのまま中心差分すると、どの刻みでも符号すら合わない。理由は、近日点移動が主力に対して \(m/a=2.55\times10^{-8}\) の補正なのに \(F-1\) が \(5.1\times10^{-8}\) しかないこと。丸めから \(\mathrm{frac}>8.5\)、打ち切りから \(\mathrm{frac}<1.1\times10^{-5}\) ── 両立しない。

越え方は「ずれを変数にする」。 \(F-1=\frac{4u}{(1-u)^2}\)、\(G-1=\frac{-u(4+6u+4u^2+u^3)}{(1+u)^4}\) と代数で先に 1 を引いておく。丸めが \(5\times10^{-8}\) に相対的になるので 8 桁得をし、frac \(10^{-7}\)〜\(10^{-3}\) の広い範囲で GR 比 1.00001 以内。これは書き方の好みではなく、解ける/解けないの境目。数値相対論が deviation 変数を使う理由がここにある。

そして残るもの。 大域構造(地平面・トポロジー)には届かない ── 第3回の代償のまま。そして平坦背景は観測できないので、優先系としては使えない。つまりこの格子は「計算のための格子」としては完璧で、「世界の基本構造としての格子」にはならない第16回で調べていたのは後者(刻みが物理的な場合)で、そちらには対称性の機構が要る。前者には、何の障害もありませんでした。

この文書は「つくる格子」シリーズ第17回、物理好きの高校生・大学生向け読み物です。姉妹編「わかる」が既知の物理を解説するのに対し、本シリーズは作業そのものを見せます ── 自分が踏んだバグと、計画時の見立て違いを含めて。

確立した内容:等方座標におけるシュワルツシルト解、PPN 形式と \(\gamma,\beta\)、光の曲がりの \(\frac{1+\gamma}{2}\) 依存と近日点移動の \(\frac{2+2\gamma-\beta}{3}\) 依存、一般相対論の近日点移動 \(6\pi GM/(c^2a(1-e^2))\)、水星の軌道要素、カッシーニによる \(\gamma-1=(2.1\pm2.3)\times10^{-5}\)(Bertotti–Iess–Tortora 2003)、太陽縁での光の曲がり \(4GM/c^2R_\odot=1.751''\)。
本稿の数値(42.9807 秒角/世紀、\(\gamma=0.5,0\) での 28.6538・14.3269、光の 1.75120・0.87560、刻みの収束表、差分の各表)は、著者が書いた RK4 積分コードの出力です。解析式との比較を各所に併記してあるので、そこが判定になります。1% 精度に必要な \(\eta\) と frac の見積りは桁の議論であり、係数 4 や 2 は概算です(本文が示すとおり、実測の許容窓は見積りより広い)。
「平坦な格子+2つの関数=一般相対論」という言い方自体は本稿の独自の主張ではありません ── 等方座標は 100 年前から知られており、数値相対論は日常的に直交格子で解いています。本稿がやったのは、第3回で論証にとどめた部分を実際に走らせて数値で確かめ、そのときに現れる桁落ちの条件を定量化したことです。
大域構造に届かないこと、平坦背景が観測できないことは第3回のとおりで、この回で改善していません。

本編:第1回第2回第3回第4回第5回第6回第7回第8回第9回第10回第11回第12回第13回第14回第15回第16回 | 番外編: ── 印刷する場合はブラウザの「印刷」から「PDF に保存」を。

印刷 / PDF 化:⌘+P(Windows は Ctrl+P)。図で、格子が歪まないまま軌道だけが回ることを確かめられます。