The episode that walks head-on into the trap Bonus ② set
Bonus ②'s conclusion was correct and still stands. Read as "\(c\) varies," it dies ── \(c\) carries dimensions, so its having changed has no observer-independent meaning. And conformally flat (\(ds^2=\Omega^2\eta_{\mu\nu}dx^\mu dx^\nu\), one scalar) cannot write a star ── because the Weyl tensor does not vanish.
But ② also wrote this: "what distinguishes them is everything other than light."
That is an instruction to go and try it. This episode does ── but with two scalars.
| Bonus ② (conformally flat) | this episode | |
|---|---|---|
| form | \(ds^2=\Omega^2(x)\,\eta_{\mu\nu}dx^\mu dx^\nu\) | \(ds^2=-A^2dt^2+B^4\,\delta_{ij}dx^idx^j\) |
| number of scalars | 1 | 2 |
| what is flat | spacetime | space only |
| can a star be written? | × (Weyl \(\ne0\)) | ○ exactly |
These two are different things. \(-A^2dt^2+B^4\delta_{ij}dx^idx^j\) is conformally flat only when \(A/B^2\) is constant. So it sidesteps ②'s wall ── it does not make the Weyl tensor vanish. Without making it vanish, it flattens space alone.
And the Schwarzschild solution can be written exactly in this form (isotropic coordinates). With \(u=m/2\rho\),
The speed of light on the lattice is \(c(\rho)=A/B^2=\dfrac{1-u}{(1+u)^3}\) ── a function of position.
Setting \(F\equiv1/A^2\) and \(G\equiv1/B^4\), the super-Hamiltonian fits in two lines.
At any one point we need only four numbers (\(F,G,F',G'\)). The \(\Gamma^\mu_{\nu\lambda}\) of a static spherically symmetric metric has more than twenty non-vanishing components in Cartesian coordinates, and we build not one of them. No geodesic equation, no curvature tensor.
②'s point was this ── null geodesics being conformally invariant, any picture that tinkers with the conformal factor is bound to hit light. A hit from something bound to hit carries zero information. What distinguishes them is clocks, matter orbits and tidal forces.
| observable | ②'s class | flat lattice | reference | ratio |
|---|---|---|---|---|
| light bending (solar limb) | light | 1.751201 ″ | VLBI 1.75119 ″ | 1.000006 |
| Mercury's perihelion advance | matter orbit | 42.9806 ″/century | GR 42.980578 | 1.000000 |
| gravitational redshift | clock | \(2.458454\times10^{-15}\) | \(gh/c^2\) | 0.999996 |
| the GPS clock | clock + speed | 38.610 μs/day | literature +38.6 | 1.0003 |
| Shapiro delay (round trip) | light | 247.295 μs | Viking ≈ 250 | 1.000223 |
All three of the things ② said "distinguish them" went through. And the perihelion agrees to \(10^{-6}\), the redshift to \(4\times10^{-6}\).
GPS produces the gravitational \(+45.65\) and the velocity \(-7.11\) simultaneously from the same single formula ── \(d\tau/dt=\sqrt{(1-v^2F/G)/F}\). The residual \(3\times10^{-4}\) is not numerical error but the choice of ground reference surface, swinging between 38.543 (equatorial radius), 38.610 (mean radius) and 38.744 (polar radius); the literature value uses the geoid and \(J_2\).
The last of ②'s three is tidal forces. That is thin in a weak field, so let us take it into the strong field.
\(c(\rho)=(1-u)/(1+u)^3\) goes to zero at \(\rho\to m/2\) (\(u\to1\)). In isotropic coordinates that is the horizon. No coordinate singularity and no infinite curvature appear ── in the language of a flat lattice, the horizon is nothing but "the surface where light stops."
Split the null \(H=0\) into \(|p|^2=p_\rho^2+L^2/\rho^2\) and the turning condition becomes \(\rho/c(\rho)=b\). \(V(\rho)\equiv\rho/c(\rho)\) is \(\infty\) at \(\rho\to\infty\) and also \(\infty\) at \(\rho\to m/2\) (since \(c\to0\)) ── so it has a minimum.
$$b_{\rm crit}=\min_\rho\ \frac{\rho}{c(\rho)}$$The size of a black hole's shadow is the minimum of "radius ÷ the speed of light there." Curvature is never used (meaning we did not need to, not that we could not ── the curvature comes out of the same \(A,B\). See the correction box in §11).
| flat lattice (numerical) | analytic / observed | |
|---|---|---|
| location of the minimum | 1.866025382 \(m\) | \(1+\sqrt3/2=1.866025404\) |
| \(b_{\rm crit}\) | 5.196152423 \(m\) | \(\sqrt{27}=5.196152423\) 12 digits |
| M87*'s shadow diameter | 39.69 μas | EHT 42.0 ± 3.0 0.8σ |
| Sgr A*'s shadow diameter | 53.25 μas | EHT 51.8 ± 2.3 0.6σ |
And since the deflection angle diverges logarithmically as \(b\to b_{\rm crit}\), photon rings line up at \(\Delta\phi=\pi,3\pi,5\pi,\dots\)
| orbit number | \(b/b_{\rm crit}-1\) | ratio to previous |
|---|---|---|
| 1 | \(3.09\times10^{-2}\) | — |
| 2 | \(5.41\times10^{-5}\) | 572× |
| 3 | \(1.01\times10^{-7}\) | 535.6× |
| 4 | \(1.89\times10^{-10}\) | 535.5× (\(e^{2\pi}=535.4917\)) |
\(e^{2\pi}\) came out. We never taught it. All we put in was \(\rho/c(\rho)\).
So far we have put only "the same one set as Schwarzschild" into \(F,G\). Let us attach knobs, turn them, and trim with observables.
\(\beta=\gamma=1\) is GR. In the language of the lattice, \(\gamma\) is the stretch of the ruler and \(\beta\) is the second-order non-linearity of the clock.
| observable | ∂ln/∂γ (numerical) | analytic | ∂ln/∂β (numerical) | analytic |
|---|---|---|---|---|
| light bending | 0.500000477 | 1/2 | \(-1.2\times10^{-6}\) | 0 |
| perihelion advance | 0.666666339 | 2/3 | −0.333333867 | −1/3 |
The tool produced the PPN coefficients by itself. We never taught them. The point is that the directions are not orthogonal ── light bending sees only \(\gamma\), while the perihelion sees \(2\gamma-\beta\). So with both in hand they can be separated.
Cassini's radio link gives \(\gamma-1=(2.1\pm2.3)\times10^{-5}\). Translated into \(c(\rho)\):
| \(\rho\) | \(c/c_\infty-1\) (GR) | how much the \(\gamma\) tolerance moves it |
|---|---|---|
| solar limb | \(-4.245\times10^{-6}\) | \(4.88\times10^{-11}\) = \(1.1\times10^{-5}\) of it |
| 1 AU | \(-1.974\times10^{-8}\) | \(2.27\times10^{-13}\) = the same ratio |
A flat lattice is "permitted," not "free to write as you like."
The form of \(c(\rho)\) is pinned down to five digits. If "explaining gravity with a varying speed of light" sounds like freedom, that is because the degrees of freedom have not been counted.
The strongest objection is this ── "in a flat lattice space does not twist, so frame dragging will not come out."
The answer was do not twist it. put in a flow. Add one function.
Compute it and the form of the Hamiltonian does not change at all:
$$H=\tfrac12\left(-FW^2+G|p|^2\right),\qquad W\equiv E-\vec V\cdot\vec p$$Only \(E\) becomes \(W\) ── the wind merely Doppler-shifts the energy. And
$$\frac{dx^i}{d\lambda}=\underbrace{Gp_i}_{\text{travel through the lattice}}+\underbrace{FV^iW}_{\text{carried by the wind}}$$That first line is literally the picture of a river. The Sun's wind speed at its surface is \(1.97\times10^{-12}c\).
| observable | flat lattice | reference | ratio |
|---|---|---|---|
| difference in light bending, prograde/retrograde | coefficient 8 | \(8\mathcal J/b^2\) | 1.000027 |
| LAGEOS node precession | 30.593 mas/yr | analytic / literature ≈31 | 1.000002 |
The difference is exactly proportional to \(\mathcal J\) (the ratio does not move over \(10^5\)–\(10^8\) times). Extrapolated to the real Sun, 1.62 μas (0.81 μas one-sided).
atan2(0,0) as "\(5\times10^6\) times the signal."Past \(c\to0\) is not "the inside." The lattice turns back there.
The areal radius is \(r(\rho)=\rho+m+\dfrac{m^2}{4\rho}\). \(dr/d\rho=1-\dfrac{m^2}{4\rho^2}\) vanishes at \(\rho=m/2\) ── \(r\) takes its minimum \(2m\) there, and \(r\to\infty\) again as \(\rho\to0\). What is more, the inversion \(\rho\to m^2/4\rho\) is an exact isometry (confirmed numerically to zero difference).
A static flat lattice covers two exteriors glued together, and never covers the interior at all.
\(\rho
And that bridge opens and closes. Solving \(T^2-X^2=(1-r/2m)e^{r/2m}\) in Kruskal coordinates gives throat radius \(2m\) at \(T=0\) and 0 at \(|T|=1\). A causal curve attempting to cross reaches the singularity before getting across.
The reason it cannot be covered is not a matter of coordinate convenience ── it is that no observer can be at rest inside. A "lattice" is a picture premised on "being at rest," so a static picture necessarily ends there.
If flowing is allowed, it can be written. And more beautifully than the static version.
Not even a conformal factor. The lapse is 1. That is, \(c\) is exactly constant and what moves is the lattice itself.
And \(v(r)=\sqrt{2m/r}\) is Newton's escape velocity. Radial light obeys
The horizon is not "the surface where light stops" but "the surface where the river reaches the speed of light." Inside, "the river is superluminal." Not one quantity ever goes negative.
| flat lattice | flow | region covered |
|---|---|---|
| at rest (isotropic coords) | none | I + III (two exteriors) |
| flowing inward (PG) | \(v=+\sqrt{2m/r}\) | I + II (exterior + interior) |
| flowing outward (time-reversed) | \(v=-\sqrt{2m/r}\) | I + IV (a white hole) |
In all of them space is flat. Only the direction of the flow differs. And there is no single flat lattice covering all four regions ── this is where "language independent of coordinates" genuinely becomes necessary.
However ── a real black hole has neither III nor IV. Those are products of the assumption "it has existed forever and its surroundings are perfectly vacuum"; in a hole formed by a collapsing star, the region corresponding to \(\rho
Inside, \(r\) becomes not "a place" but "a time." The proper time from horizon to singularity, by numerical integration, is \(\tau_{\text{from}\ \infty}=1.333333332\,m\) (\(=4/3\)), with a maximum of \(3.141592654\,m\) (\(=\pi\)). For a solar mass that is 6.567 μs; for M87*, 711.5 minutes.
The horizontal axis is radius in units of \(m\). The buttons switch between three views ── ① the static lattice (\(c\) varies with place and vanishes at the throat) ② the flowing lattice (\(c\) is exactly constant and the river exceeds the speed of light) ③ the minimum of \(V=\rho/c\), which fixes the shadow
Summed up in one line, all of the above is: a workbook with several sheets, each a lattice of flat cells, where you decide the width of each row step and how the cells slide sideways. Not a metaphor ── it is literally the formalism: ADM's 3+1 decomposition.
| spreadsheet | relativity | what appeared in this episode |
|---|---|---|
| one sheet = a lattice of flat cells | the spatial slice \(\gamma_{ij}\) | \(B^4\delta_{ij}\) in isotropic coords; exactly \(\delta_{ij}\) in PG |
| the time width of one row step | the lapse \(N\) | \(N=A\) in isotropic coords, \(N=1\) in PG |
| how far cells slide sideways | the shift \(\beta^i\) | the river's speed \(\sqrt{2m/r}\), the vortex \(2\mathcal J/\rho^3\) |
| several sheets in a workbook | several charts | I+III (static) / I+II (inward) / I+IV (outward) |
referencing with =Sheet2!A1 | coordinate transformations and overlaps | the inversion \(\rho\to m^2/4\rho\) |
| the same value read from any sheet | observables do not depend on coordinates | \(b_{\rm crit}=5.1961524227\) agrees to 10 digits on two lattices |
Bonus ② had one line at the end ── "since the lattice does not warp it can be solved by finite differences ── which is exactly what numerical relativity does." Let us make that concrete.
Solving the null condition \(0=-\alpha^2dt^2+\gamma_{ij}(dx^i+\beta^idt)(dx^j+\beta^jdt)\) gives
"A speed of light \(\alpha\) that differs with place" + "a wind \(\beta^i\)" ── the same form as what we built in this episode. And \(\alpha,\beta^i\) are not fixed by the equations but are quantities we choose.
| numerical-relativity practice | content |
|---|---|
| the time step | the CFL condition is \(\Delta t\lesssim\Delta x/(\alpha+|\beta|)\) ── the speed at which information crosses the lattice is not \(c\) but \(\alpha+|\beta|\). Every code chooses its step each timestep from "the coordinate speed of light here and now" |
| singularity avoidance | the Bona–Massó family \(\partial_t\alpha=-\alpha^2f(\alpha)K\), with the most-used 1+log being \(f=2/\alpha\). As a hole starts forming, \(K\) diverges and \(\alpha\) collapses to 0 (collapsed lapse) ── dropping the coordinate speed of light to zero freezes the evolution and keeps the code from crashing |
| keeping the coordinates from being sucked in | gamma-driver / puncture gauge actively blows \(\beta^i\) (co-rotating for a binary) |
| a bonus pathology | gauge modes propagate at \(\alpha\sqrt f\). For 1+log that is \(\sqrt{2\alpha}\), whose ratio to the coordinate speed of light \(\alpha\) is \(\sqrt{2/\alpha}\) ── greater than 1 whenever \(\alpha<2\). And they can form shocks, which even have a name: gauge shock |
The most blatant evidence that the coordinate speed of light is not remotely sacred in this field is that last row.
The character of this is clear ── a gauge shock is not a bug in the world but a bug in how the world is written. Spacetime is intact, the observables are intact, and yet the computation alone breaks.
So the fix is not physics either. You just re-choose the functional form of \(f(\alpha)\) (forms like \(f=1+\kappa/\alpha^2\) are used). Squash the bug in the description without touching the physics.
This passage went in on a reader's suggestion. That a choice of coordinates can create a bug is the single point that surprised readers most in this episode.
Everything above was computed in a picture where the coordinate speed of light varies with place. At the horizon it even reached zero.
And still the physical speed of light never changed once. What changed was how rulers and clocks are graduated ── a gauge quantity. Bonus ②'s reading ① ("read as '\(c\) varies' it dies") stands unchanged.
The evidence came out numerically ── a lattice where \(c\) varies with place and a lattice where \(c\) is exactly constant give the same shadow (\(b_{\rm crit}=5.1961524227\,m\)) to ten digits. Which means a quantity that depends on the choice is not an observable.
And to the question "so are you just computing the same thing the hard way?", the accurate answer is half yes.
| the light side | the side that does not get lighter | |
|---|---|---|
| what you do | read the sheet (produce observables) | fill in the sheet (determine the fields) |
| what you need | \(F,G\) (and the wind) + the canonical equations | the Einstein equations |
| in this episode | did all of it | never did any of it ── \(F,G\) were put in by hand |
| examples | light, clocks, orbits, tides, shadows, dragging | the two-body problem, gravitational waves, stellar interiors |
That is why binary pulsars were left out of this episode. With two masses the background field itself becomes unknown ── and there a flat lattice does not get lighter.
② ended with "one function cannot write a star; the wall is the Weyl tensor." This episode used five functions and got a star through ── one lapse \(A\), one spatial conformal factor \(B\), and three shift components \(\vec V\). So how far can this form go?
Break the requirement into stages and it becomes clear. What dies for Kerr is only the flatness of the riverbed; the river itself does not die.
| requirement | Schwarzschild | Kerr | basis |
|---|---|---|---|
| space exactly flat + lapse 1 | ○ (PG) | × | Visser & Liberati |
| space conformally flat | ○ (isotropic coords) | × | Garat & Price |
| lapse 1 + \(\det\gamma=1\) (unimodular) | ○ | ○ | the Doran form |
| general ADM (no restriction) | ○ | ○ | but then "flat" says nothing |
Visser and Liberati sort this out head-on ── "for the Kerr spacetime, the best that seems achievable is to set the lapse function to unity and represent the spatial slices by a 3-metric in factorized unimodular form. This comes from considering the Doran version of Kerr in Cartesian coordinates" (arXiv:2210.11057).
Translated, what remains is unexpectedly good ──
lapse = 1: the speed of light relative to the water is exactly \(c\). You do not even need a varying speed of light.
\(\det\gamma=1\): the lattice distorts, but volumes do not change.
In Natário's phrasing, "the Kerr metric can be interpreted as space flowing on a curved Riemannian 3-manifold" (Gen. Rel. Grav. 41 (2009) 2579) ── the river survives; only the flatness of the riverbed dies.
The boundary between \(O(a)\) and \(O(a^2)\) remains correct as a statement about requiring conformal flatness. In Boyer–Lindquist, the spatial corrections (\(g_{rr}=\Sigma/\Delta\), \(g_{\phi\phi}\)) are all \(O(a^2)\), and the \(O(a)\) term is \(g_{t\phi}\) ── the shift alone. So this episode's calculations (dragging, the shadow offset \(2a\)) are self-contained at first order. Conformal flatness breaks from \(O(a^2)\) (Garat & Price, PRD 61 (2000) 124011; for discussion under broader conditions see arXiv:1908.03456) ── and that has a direct practical consequence: it is why Bowen–York's conformally flat initial data cannot be used for a rotating hole and comes with spurious radiation.
| requirement (number of functions) | what can be written | the wall | |
|---|---|---|---|
| Bonus ② | spacetime conformally flat (1) | FRW | the Weyl tensor (a star cannot be written) |
| this episode | space conformally flat + lapse + shift (1+1+3 = 5) | Schwarzschild (through to the interior) + Kerr at \(O(a)\) | conformal flatness breaks at \(O(a^2)\) |
| the Doran form | lapse 1 + unimodular (1+3+5 = 9) | exact Kerr | the riverbed distorts (volume preserved) |
| numerical relativity | evolve \(\gamma_{ij}\) too (1+3+6 = 10, of which 6 are physical) | anything | designing the initial data and \(\alpha,\beta\) |
There is something to say here from one step back ── changing coordinates does not change physics. So the "×"s in the table above do not mean that something stops happening there. It only means the same spacetime cannot be written in that formalism.
The evidence is inside this episode ── a lattice where \(c\) varies with place and a lattice where \(c\) is exactly constant gave the same shadow, \(b_{\rm crit}=5.1961524227\,m\), to ten digits. Observables do not depend on the choice of formalism.
However ── "whether coordinates of a certain kind exist" is an invariant property of the spacetime. Choosing is not physics, but whether you can choose is decided by the spacetime. "Kerr has no conformally flat slice" is a theorem about Kerr, not a matter of taste.
And walls of description do come with a practical bill ── Bowen–York initial data emitting spurious radiation for a rotating hole is a loss of accuracy, and gauge shocks crash the computation. Not a defect of the world, and yet the person doing the work gets invoiced. Exactly the same category as what a reader in §09 called "a bug inside perfect physics."
The first draft wrote this ── "working it out gives the number \(8.31(a/m)\,m\), but since it is off by a factor of four from Kerr's often-quoted shadow offset \(2a\), we are not publishing it."
That factor of four was the error in the shape of the vortex. The shadow offset is fixed by \(\Omega V^2\) at the photon sphere ──
$$\rho_*=1.866025404\,m,\qquad u_*=0.267949192,\qquad (1+u_*)^6=4.155383$$ $$8.310767\,a\ \times\ \frac{1}{4.155383}\ =\ \mathbf{2.000000\,a}$$Exactly \(2a\). Kerr's standard value. The factor-of-four discrepancy was \((1+u_*)^6\) itself.
Therefore the shadow splits and its centre shifts by \(2a\). But we keep it to first order ── at the photon sphere \(\Omega V\approx0.38\,(a/m)\), so once \(a/m\) exceeds 0.1 the first-order approximation is not to be trusted. Following it to large spin needs Kerr's exact river (a Painlevé–Gullstrand version of Kerr does exist: arXiv:0805.0206).
We walked into Bonus ②'s trap. ② wrote that "light agreeing in the refractive-index picture is trivial and carries zero information; what distinguishes them is clocks, matter orbits and tidal forces." Going from one function to two (\(-A^2dt^2+B^4\delta_{ij}dx^idx^j\)) gets all three through ── perihelion 42.9806″/century (ratio 1.000000), gravitational redshift \(2.458454\times10^{-15}\) (0.999996), GPS 38.610 μs/day (1.0003), and on the tidal side the shadow \(b_{\rm crit}=\sqrt{27}\,m\) to 12 digits. ②'s conclusion is not wrong ── the requirement is different. This form is conformally flat only when \(A/B^2\) is constant, and it does not make Weyl vanish.
It all came out without building a single Christoffel symbol. Only four numbers per point, \(F,G,F',G'\). But what makes it light is "because it is the canonical formalism," not "because the lattice is flat" ── that should be counted separately.
The size of the shadow is fixed by \(\min_\rho\,\rho/c(\rho)\). The minimum of "radius ÷ the speed of light there." No geometry, no curvature needed. EHT's M87* (39.69 vs 42.0±3.0, 0.8σ) and Sgr A* (53.25 vs 51.8±2.3, 0.6σ). The photon rings cling to \(b_{\rm crit}\) by factors of 535.5, and \(e^{2\pi}=535.4917\) came out although we never taught it.
The remaining freedom is pinned down to five digits. Attach the knobs \(\beta,\gamma\) and the tool produces the PPN coefficients itself (\(\partial\ln/\partial\gamma=0.500000477\), \(0.666666339\), \(\partial\ln/\partial\beta=-0.333333867\)). Translating Cassini's \(\gamma-1=(2.1\pm2.3)\times10^{-5}\) into \(c(\rho)\), the tolerance is \(1.1\times10^{-5}\) of the solar-limb dip of \(4.245\times10^{-6}\). A flat lattice is "permitted," not "free to write as you like."
Space does not twist. Flow the lattice. Put in a wind \(\vec V=\Omega(\hat z\times\vec x)\), \(\Omega=2\mathcal J/\rho^3\), and the Hamiltonian keeps its form with only \(E\to W=E-\vec V\cdot\vec p\). The equations of motion become "travel through the lattice + being carried by the wind." The prograde/retrograde bending difference has coefficient 8 (ratio 1.000027), and LAGEOS's node precession is 30.593 mas/yr (ratio 1.000002). Turn the wind off and it falls to \(6.5\times10^{-12}\).
The inside of the horizon is not "deeper in" but on a different sheet. \(r(\rho)\) has minimum \(2m\) at \(\rho=m/2\), and the inversion \(\rho\to m^2/4\rho\) is an isometry ── a static lattice covers two exteriors and never covers the interior. The bridge opens and closes (\(2m\) at \(T=0\), 0 at \(|T|=1\)). The interior is covered by an inward-flowing lattice (PG), where space is exactly Euclidean, \(c\) is exactly constant, and the river merely goes superluminal. The proper time is \(4m/3\) (maximum \(\pi m\)). Three kinds of lattice are needed for four regions, but a real hole needs only the inward one (III and IV are products of eternity and vacuum).
This was ADM's 3+1. The lapse \(N\) = the width of a row, the shift \(\beta^i\) = how cells slide sideways, the spatial metric = the cells' graduation. And numerical relativity already does this ── the coordinate speed of light is \(-\beta^i\pm\alpha n^i\), and the CFL condition is \(\Delta t\lesssim\Delta x/(\alpha+|\beta|)\). 1+log slicing (\(f=2/\alpha\)) is used for singularity avoidance by deliberately crushing \(\alpha\) to 0 near the hole. Gauge modes propagate at \(\alpha\sqrt f\), exceeding the coordinate speed of light when \(\alpha<2\) for 1+log, and there is even a pathology named gauge shock.
And still the speed of light is constant. Everything was computed in a picture where the coordinate speed of light varies with place, yet the physical speed of light never changed once. What changed was a gauge quantity. The evidence is that a lattice where \(c\) varies and a lattice where \(c\) is exactly constant gave the same shadow to ten digits. ②'s "read as '\(c\) varies' it dies" stands unchanged.
The answer to "are you computing the same thing the hard way?" is half yes. The reading side of the sheet (observables) is light ── this episode did all of it. The filling in side (determining the fields) does not get lighter ── this episode never did any of it. \(F,G\) were put in by hand. The two-body problem, gravitational waves and stellar interiors are on that side.
Correction (post-publication) ── the curvature does come out. I simply did not produce it. \(A,B,\vec V\) are the metric itself, so differentiating them yields Riemann, Ricci, Weyl, even Pontryagin. I produced them and cross-checked ── \(R_{\mu\nu}\) is below \(10^{-8}\) of Riemann (a vacuum solution, ten non-trivial conditions), and the Kretschmann invariant agrees with \(48m^2/r^6\) to 9 digits (at \(\rho=5m\), \(9.788338647\times10^{-4}\) against \(9.788338720\times10^{-4}\), with \(r\) the areal radius) ── the very formula Bonus ② quoted. The Pontryagin \(R\tilde R\) is exactly 0 in the static case and rises with the wind, proportional to \(\mathcal J\) to 9 digits (= a gravitational chiral anomaly stands up only when there is rotation).
And that curvature found the bug in the wind. The first draft's \(\Omega=2\mathcal J/\rho^3\) is the weak-field form and was not a solution of the Einstein equations (\(R_{\mu\nu}\) survived at first order in \(\mathcal J\)). The correct form is \(\Omega=2\mathcal J/[\rho^3(1+u)^6]\), and with the fix it drops to \(O(\mathcal J^2)\). This error cannot in principle be found by computing observables ── because \(H=-\frac12\mu^2\) is conserved regardless of whether the given metric satisfies the equations. And once fixed, the shadow offset I had withheld came out as \(\mathbf{2.000000\,a}\) (Kerr's standard value). The factor-of-four discrepancy was \((1+u_*)^6=4.155383\) itself.
And the wall has ②'s shape with a different name ── "conformal flatness." Kerr's spatial corrections are all \(O(a^2)\), and \(O(a)\) is the shift alone. So rotation at first order fits into a flat lattice as it is (both the dragging and the shadow offset \(2a\) come out). Requiring conformal flatness stops you at \(O(a^2)\) ── restricted to axisymmetric foliations reducing smoothly to the Schwarzschild limit, Kerr has no conformally flat spatial slice (Garat & Price, PRD 61 (2000) 124011). That is why Bowen–York initial data cannot be used for a rotating hole. But relax the requirement to "lapse 1 + \(\det\gamma=1\)" and even exact Kerr can be written, in Doran form (Visser & Liberati, arXiv:2210.11057) ── only the flatness of the riverbed dies; the river survives.
Counted in functions: ② had 1, this episode 5 (lapse 1 + conformal factor 1 + shift 3), and removing every restriction gives 10 (6 physical) = ADM, which can write anything. But then "the lattice is flat" says nothing ── generality and the picture are traded one for one.
This document is Bonus ④ of the "Lattice We Build" series, a reading piece for high-school and university students who love physics. Where the sister series "That Clicks" explains known physics, this series shows the work itself.
Established material: the isotropic-coordinate form of the Schwarzschild solution; the conformal invariance of null geodesics; the equivalence of conformal flatness and the vanishing of the Weyl tensor; the Schwarzschild photon sphere \(r=3m\) and the critical impact parameter \(\sqrt{27}\,m\); the \(e^{-2\pi}\) scaling of photon rings; that isotropic coordinates join two asymptotically flat regions at a throat \(r=2m\) (the Einstein–Rosen bridge) and that the inversion \(\rho\to m^2/4\rho\) is an isometry; the spatial flatness of Painlevé–Gullstrand coordinates and \(v=\sqrt{2m/r}\); the proper time \(4m/3\) from horizon to singularity (and the maximum \(\pi m\)); the ADM 3+1 decomposition; that numerical relativity's CFL condition is set by \(\alpha+|\beta|\); the Bona–Massó family \(\partial_t\alpha=-\alpha^2f(\alpha)K\) and 1+log (\(f=2/\alpha\)); the existence of gauge shocks; Cassini's \(\gamma-1=(2.1\pm2.3)\times10^{-5}\) (Bertotti, Iess, Tortora, Nature 425 (2003) 374); the EHT shadow diameters for M87* (42±3 μas) and Sgr A* (51.8±2.3 μas); and Garat & Price's non-existence of a conformally flat slice (Phys. Rev. D 61 (2000) 124011).
This article's own computations: every number in the tables above (1.751201″, 42.9806″/century, \(2.458454\times10^{-15}\), 38.610 μs/day, 247.295 μs, 5.196152423 \(m\), 39.69 / 53.25 μas, the factor 535.5, the PPN logarithmic derivatives, \(1.1\times10^{-5}\), the coefficient 8, 30.593 mas/yr, \(1.333333332\,m\) and \(3.141592654\,m\)). The check code is pure Python with no dependencies: flatgrid.py (the five weak-field items) / flatgrid2.py (strong field, shadow, photon rings) / flatgrid3.py (the remaining freedom) / flatgrid4.py (the wind) / flatgrid5.py, flatgrid6.py (the horizon and the number of sheets) / flatgrid7.py (curvature ── Ricci, Kretschmann, Pontryagin. This is what found the bug in the wind).
Read this part carefully. That "Christoffel symbols are not needed" applies to the work of producing observables, and its lightness is thanks to the canonical formalism, not an advantage specific to "a flat lattice" (numerical codes that ray-trace around black holes use the canonical formalism routinely).
This episode never once solved the Einstein equations. \(F\) and \(G\) are known solutions put in by hand. The two-body problem, gravitational waves and stellar interiors are outside this tool (which is why binary pulsars were not treated).
The tolerance on the PPN \(\beta\) side is an estimate. For \(\gamma\) we used Cassini's primary source, but for \(\beta\) the post-MESSENGER numbers are not given in the abstract of Verma, Fienga, Laskar, Manche, Gastineau, A&A 561 (2014) A115, and this article uses \(|\delta\beta|\sim2.5\times10^{-5}\) as an estimate (unverified against the primary source).
Garat–Price's non-existence proof comes with conditions (axisymmetric, and reducing smoothly to constant-time surfaces in the Schwarzschild limit). It is not an unconditional claim.
The shadow asymmetry was resolved by a post-publication correction. The first draft withheld \(8.31(a/m)\,m\) as being off by a factor of four from Kerr's \(2a\); the cause was the error in the shape of the vortex (\(\Omega=2\mathcal J/\rho^3\) is the weak-field form), and correcting it to \(\Omega=2\mathcal J/[\rho^3(1+u)^6]\) gives exactly \(2.000000\,a\). But it is kept to first order ── at the photon sphere \(\Omega V\approx0.385\,(a/m)\), so it is not to be trusted for \(a/m\gtrsim0.1\).
"Spreadsheet" is a reader's word. The correspondence with ADM 3+1 is this article's framing, not textbook terminology.
Main series: contents | Bonus ②: How far does "ct = constant" get you? | Episode 17: Mercury precesses on a flat lattice | Episode 19: This way the arithmetic is easier
Print / PDF: ⌘+P (Ctrl+P on Windows). In the figure you can confirm that the two lattices give the same shadow.