Carlos Toledo · instruments · the black hole in M87
M87*: a black hole where every line says what it rests on
The shadow’s edge decided, the image computed, the disk assumed, on M87*’s own clock
M87*, the black hole the Event Horizon Telescope imaged, drawn so that each element carries its standing. The edge of its shadow is decided in interval arithmetic and drawn solid. The image is computed, ray by ray, through the Kerr metric and drawn as computed. The glowing disk is an assumed thin disk, and it turns at its Keplerian rate on M87*’s own clock, sped up and shown. Nothing here models the plasma, and the page says where the assumptions begin.
M87*’s view, 17° (assumed, from the jet)
t0 tg · M87* day[0.0, 0.0]
The shadow’s edge, Bardeen’s critical curve, is the one solid line: Phase 0 encloses it in interval arithmetic and the line is drawn at least as wide as the boxes that cover it (0.02 M across at most), so the true curve lies inside it. The image under it is computed: each pixel is a light ray traced backward through the Kerr metric in double precision (the lensing maps, which agree with the decided curve on every pre-registered check) and shaded in your tab as an assumed thin disk, Σ g³J; its frame is dashed for that standing. The jet is a dotted sketch, chosen to be legible: no jet image is drawn. Every image of the disk shows it at one moment; the light-travel delay between them is not applied.
Records: certs/bh-shadow.json · sha256 8019e1ed10db; certs/bh-maps-check.json · sha256 eb4fddd7572b; corpus/bh-maps/manifest.json · sha256 bd7f6cf3367f; playground/black-hole/out/scene.json · sha256 7416887baeb3The build refuses this figure if the scene record does not re-derive from Phase 0’s decider, if a map does not agree with the decided curve or is not its pinned file, or if the solid line is drawn thinner than the boxes it covers.
decided
exact arithmetic backs it
computed
float, or a number someone printed; nothing decided it
chosen
one member of a set the data admits
spin a, chosen: the data do not constrain it
Off 17° the maps exist for a = 0.94 only.
the view
17° is M87*’s view, taken from its jet; leaving it draws a picture of the model.
layers
θg = GM/c²D, µas
[3.400000, 4.200000]
the shadow, d̄ over every spin at 17°, µas
[32.8810, 43.6497]
the ring the EHT measures
43.9 ± 0.6 µas, persistent 2017–2021
ring ÷ shadow, compared
[0.9919, 1.3534]
This row’s θg was fitted to the 2017 ring with the GRMHD calibration, so the ratio returns that calibration: printed, never a test.
the clock
one second here
4 tg = … h of M87* (tg = [7.6618, 10.1247] h, EHT 2019 (the ring, GRMHD-calibrated))
the inner edge goes round in
[23.993115, 23.993116] tg = [7.6596, 10.1218] days, … s here (a = 47/50 = 0.94 (the chosen default))
Your system asks for reduced motion, so the clock stands still at t = 0.
drawn by…. The map files are checked against their pinned sha256 as they load.
What each line rests on
element
drawn as
standing
what it rests on
the shadow’s edge (the critical curve)
the solid line
decided
Phase 0: interval enclosure by two deciders that share no code; drawn as a cover of boxes, the line wider than any of them
the image of the disk and its photon rings
the grey field, its frame dashed
computed
rays traced in double precision through the Kerr metric (the lensing maps), graded against the decided curve; shaded in float32 in your tab
the disk, its brightness and its motion
the pattern in the grey field
assumed
a thin disk on Keplerian orbits; the pattern turns at Ω(r) = 1/(r3/2 + a) per tg, born and faded every 40 tg
the spin
the pressed button
chosen
four precomputed values; the decided band over every spin is in the table below
the view
17° (or 45°, 80° as a model)
assumed
M87*’s inclination from its jet; the other two are pictures of the model
the jet
the dotted funnel
chosen
an assumed sketch; no jet image is drawn
the clock
t in tg and M87* days
decided × chosen
tg per mass row and the ISCO periods are Phase 0’s; four tg a second is chosen; the elapsed time is measured by your browser
The chain the image travelled through, in order, each premise with the grade its checking reached:
assumed
The Kerr metricgeneral relativity, an uncharged black hole in vacuum, no plasma lensing: adopted, not checked here
assumed
The inclination, 17°from the jet’s motions (Mertens et al. 2016, 17.2° ± 3.3°); the EHT’s 163° is the same curve mirrored
assumed
The spin, swept over four valuesthe data constrain nothing; 0.94 is the chosen default
verified
The ray tracer (instruments/kerr/rays.js)its crossings against Gralla & Lupsasca’s closed form and its shadow against Phase 0’s decided curve: AGREES on every check, at every map (certs/bh-maps-check.json)
assumed
The thin disk and its emissionequatorial, prograde Keplerian, cut at the ISCO, optically thin, J ∝ r⁻², I = Σ g³J; the brightness pattern that turns with it is chosen to be legible
compared
The ring-to-shadow factor (the mass-row comparison only)calibrated on GRMHD in the EHT’s Paper VI; a thin disk’s lensing ring sits about 5 % outside the curve (Gralla, Holz & Wald 2019)
The image is as checked as its weakest premise: assumed, the thin disk. The shadow’s edge rests only on the Kerr metric, the spin and the view.
The shadow against the ring, per mass row
The size of the shadow on the sky is the curve’s mean diameter d̄ in M times θg = GM/c²D, and θg for a dynamical mass does not depend on the distance assumed (the mass scales with it). The EHT measures a ring of 43.9 ± 0.6 µas, persistent 2017–2021. The ring is not the shadow’s edge: the factor between them is calibrated on simulations, so the last column is the factor each row would need, compared, never a verdict on the black hole, on general relativity, or on which mass is right.
Walsh et al. 2013, ApJ 770, 86 (arXiv:1304.7273), HST/STIS gas dynamics
[1.544008, 2.426300]
[14.9319, 25.2160]
[14.9114, 25.2452]
[1.7171, 2.9802]
The EHT row’s θg was fitted to the 2017 ring with that calibration, so its ratio returns the calibration. The last column of the gas-dynamical row (Walsh et al. 2013) starts above every other row’s; the stellar rows and the EHT’s own overlap. Every interval is printed outward from certs/bh-shadow.json.
The clock
The disk turns as a disk of matter on circular orbits would: at radius r its pattern goes round once every 2π(r3/2 + a) tg, where tg = GM/c³ is the black hole’s own unit of time. Here one second of the screen is four tg, and the clock on the image counts tg from the moment the page opened and prints them as days of M87*, an interval because the mass is one. The inner edge turns fastest, the outer disk slowest, so the pattern shears and never returns: the picture does not loop, and nothing resets it. Its features are born and fade every 40 tg (assumed), so the shear never winds the disk into stripes. The periods at the inner edge, the ISCO of Bardeen, Press & Teukolsky, decided in Phase 0:
spin
risco, M
period, tg
days, EHT 2019 (the ring, GRMHD-calibrated)
days, stars (Gebhardt+11)
days, stars (Liepold+23)
days, gas (Walsh+13)
a = 0
[5.999999, 6.000001]
[92.343584, 92.343588]
[29.4802, 38.9560]
[32.6388, 36.8503]
[26.9533, 30.2173]
[14.7401, 23.1631]
a = 1/2
[4.233002, 4.233003]
[57.862420, 57.862421]
[18.4722, 24.4098]
[20.4514, 23.0904]
[16.8889, 18.9341]
[9.2361, 14.5140]
a = 47/50 = 0.94 (the chosen default)
[2.023593, 2.023594]
[23.993115, 23.993116]
[7.6596, 10.1218]
[8.4803, 9.5746]
[7.0031, 7.8512]
[3.8298, 6.0184]
a = 499/500 = 0.998
[1.236970, 1.236971]
[14.914702, 14.914703]
[4.7614, 6.2920]
[5.2715, 5.9519]
[4.3533, 4.8805]
[2.3807, 3.7412]
These are coordinate times at infinity in the hole’s rest frame; an observer on Earth sees them stretched by M87’s redshift, not applied here.
What this does not show
The plasma. No magnetohydrodynamics, no electron temperatures, no polarization: the disk is a thin, optically thin sheet with J ∝ r−2, cut at the ISCO. What M87* looks like is set by its plasma, and the plasma is assumed. This is why the page claims a standing for each line and nothing more.
The second photon ring. The n = 2 image is far narrower than one pixel of the maps; the layer only samples it, so it is drawn blurred and labelled unresolved. No photon ring has been detected in M87*: every ring layer here is the model’s.
Light-travel time. The maps carry no arrival time, so every image of the disk is drawn at one moment; a real n = 1 image arrives later than the direct one.
The sky’s orientation. The image is in the black hole’s frame, the spin axis up; it is not rotated to M87*’s position angle.
The jet. No jet image is used. The 230 GHz data do not image the jet at this scale, and the jet maps at lower frequencies were not checked for a licence here; the funnel is a dotted sketch, chosen.
The ring the EHT measures. It is compared in the table above and not drawn over the image; that is the next step, with the interferometer’s data-allowed set (the interferometer).
Sources
Bardeen 1973, Timelike and null geodesics in the Kerr metric, in Black Holes (Les Houches), eds. DeWitt & DeWitt, p. 215 — the critical curve
Gralla & Lupsasca 2020, PRD 101, 044031 and 044032 (arXiv:1910.12873, 1910.12881) — the curve in this form
Johnson et al. 2020, Sci. Adv. 6, eaaz1310 (arXiv:1907.04329) — the photon ring's universal structure
Gralla, Holz & Wald 2019, PRD 100, 024018 (arXiv:1906.00873) — shadow, photon ring and lensing ring are different things
C. Givord 2026, Elliptic Integrals in Kerr Spacetime: Explicit Reduction, AGM Evaluation… (Zenodo, DOI 10.5281/zenodo.19558035) — claims certified AGM error bounds for Kerr elliptic integrals; its method was not read, and Phase 0 needs no elliptic integral (the Lyapunov exponent is not among these claims)
no prior interval enclosure of the Kerr shadow was found (the scout's search, 2026-10-31)
Walsh et al. 2013, ApJ 770, 86 (arXiv:1304.7273), HST/STIS gas dynamics
EHT Collaboration 2019, Paper VI (arXiv:1906.11243)
EHT Collaboration, "Horizon-scale variability of M87* from 2017–2021 EHT observations" (arXiv:2509.24593)
Mertens et al. 2016, A&A 595, A54 — the inclination, from the jet
instruments/kerr/rays.js and certs/bh-maps-check.json — the lensing maps (Phase 1) and their grade
The decided layer, its pre-registration and every deviation: notes/black-hole-phase0-preregistration-2026-10-31.md (Phases 0, 1 and 2), certs/bh-shadow.json and certs/bh-maps-check.json, re-derived by tools/run-bh-shadow.js --check and tools/run-bh-maps.js --check in the test suite.