The Corona in the Well: A Gravitational Correction to the Quasar Hubble Diagram
1. The Idea, Reborn at the Right Rung
An idea this series once buried — that part of a source’s redshift might be gravitational, born in a deep well rather than accumulated on the way — resurrects at the one rung where the physics genuinely supports it. Quasar cosmology is built on X-ray light that is born a few gravitational radii from a supermassive black hole: genuinely deep in a well. This note computes what the well does to that light (two effects, both from this series’ own toolbox), shows that the standard quasar-distance method amplifies the X-ray effect two-and-a-half-fold, and finds that a modest, astrophysically plausible drift of coronal depth across the quasar population produces a bias of the same size, sign and location as the celebrated deviation of quasar cosmology from the standard model at high redshift — the anomaly behind “evolving dark energy” headlines. If so, that anomaly is general relativity in
1The Idea, Reborn at the Right Rung
The local-well correction is negligible for supernovae, and the reason is kinematic rather than astrophysical — which is precisely what makes it safe to lean on. A white dwarf's own surface would redden light by GM/Rc² ≈ 3×10⁻⁴, a hundred kilometres per second, the size of the shift already measured on Sirius B. The object is not too small. But a Type Ia does not shine from its surface.
supernova_well_bound.py — bound
The white dwarf itself is not the problem — its surface well is measurable.
progenitor surface, R = 1500 km z = 1.379e-03 = 413.3 km/s 2.99e-03 mag
progenitor surface, R = 6000 km z = 3.446e-04 = 103.3 km/s 7.48e-04 mag
(cf. Sirius B, whose ~80 km/s surface redshift has been measured.)
But a Type Ia shines from the ejecta. R = v*t, both read off the data.
v [km/s] t [d] R [km] z_grav dimming [mag]
5 10 4.320e+09 4.787e-10 1.039e-09
5 18 7.776e+09 2.659e-10 5.774e-10
5 25 1.080e+10 1.915e-10 4.158e-10
10 10 8.640e+09 2.393e-10 5.197e-10
10 18 1.555e+10 1.330e-10 2.887e-10
10 25 2.160e+10 9.573e-11 2.079e-10
15 10 1.296e+10 1.596e-10 3.465e-10
15 18 2.333e+10 8.864e-11 1.925e-10
15 25 3.240e+10 6.382e-11 1.386e-10
spread across that whole grid: 6.382e-11 .. 4.787e-10 — a factor of 7.5
How deep would the light have to come from to matter?
for z = 1e-04: R = 2.068e+04 km (7.52e+05x smaller than a typical photosphere)
for z = 1e-06: R = 2.068e+06 km (7.52e+03x smaller than a typical photosphere)
20678 km is inside the progenitor's own radius. No explosion
model puts the emitting surface there, so no revision to explosion
physics can rescue the correction at this rung.
VERDICT: negligible, by a kinematic argument that does not depend on
simulating the explosion. The idea was right; the object was wrong.
================================================================
The same two objects, priced in the units of The Ledger of the Way
================================================================
neutron-star surface, R = 12 km ln(1+z) = 2.1128e-01 worth 905 Mpc of background
Type Ia photosphere, R = 1.6e10 km ln(1+z) = 1.3296e-10 worth 0.57 pc of background
ratio = 1.59e+09
The neutron star's twelve kilometres are worth 905 megaparsecs of
universe; the supernova's photosphere is worth about half a parsec.
A factor of 1.6 billion, and it is a difference of RADIUS, not of physics.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""supernova_well_bound.py — why the local-well correction cannot matter for Type Ia.
ESTABLISHES: the gravitational redshift of the emitting surface of a Type Ia
supernova is of order 1e-10, and that this bound is KINEMATIC — it follows from
the photospheric radius R = v*t, with v and t read directly off the spectra and
the light curve, and from GM/Rc². Varying v over 5000-15000 km/s and t over
10-25 days moves the answer by less than a factor of eight, while it would have
to grow by a factor of ~1e6 to become detectable.
DOES NOT ESTABLISH: anything about the explosion mechanism, the progenitor
channel, nickel masses, or whether Type Ia supernovae are good standard candles.
It deliberately avoids all of that. The point of the calculation is that the
bound survives whatever the answers to those questions turn out to be: no
explosion model places the emitting surface inside 2e4 km, and nothing weaker
than that would rescue the correction.
"""
import math
G = 6.67430e-11 # m^3 kg^-1 s^-2 -- "big G", Newton's constant
c = 2.99792458e8 # m/s -- "see", the speed of light
Msun = 1.98892e30 # kg -- one solar mass
M = 1.4 * Msun # kg -- Chandrasekhar-scale ejecta mass
def z_grav(R):
"""Gravitational redshift of a static emitter at areal radius R, weak field."""
return G * M / (R * c**2)
def dmag(z):
"""Magnitudes of dimming corresponding to redshift z (5*log10(1+z))."""
return 5.0 * math.log10(1.0 + z)
# ------------------------------------------------------------------ the object
print("The white dwarf itself is not the problem — its surface well is measurable.")
for label, R_km in [("progenitor surface, R = 1500 km", 1.5e3),
("progenitor surface, R = 6000 km", 6.0e3)]:
z = z_grav(R_km * 1e3)
print(f" {label:34s} z = {z:.3e} = {z*c/1e3:7.1f} km/s {dmag(z):.2e} mag")
print(" (cf. Sirius B, whose ~80 km/s surface redshift has been measured.)")
# --------------------------------------------------------- where the light is
print("\nBut a Type Ia shines from the ejecta. R = v*t, both read off the data.")
print(" v [km/s] t [d] R [km] z_grav dimming [mag]")
rows = []
for v in (5.0e3, 1.0e4, 1.5e4): # km/s, photospheric velocity
for t in (10, 18, 25): # days from explosion
R = v * 1e3 * t * 86400.0 # metres
z = z_grav(R)
rows.append(z)
print(f" {v/1e3:7.0f} {t:5d} {R/1e3:.3e} {z:.3e} {dmag(z):.3e}")
lo, hi = min(rows), max(rows)
print(f"\n spread across that whole grid: {lo:.3e} .. {hi:.3e} "
f"— a factor of {hi/lo:.1f}")
# ------------------------------------------------------------------ the bound
print("\nHow deep would the light have to come from to matter?")
for target in (1e-4, 1e-6):
R_need = G * M / (target * c**2)
print(f" for z = {target:.0e}: R = {R_need/1e3:.3e} km"
f" ({(1e4*1e3*86400*18)/R_need:.2e}x smaller than a typical photosphere)")
R_need = G * M / (1e-4 * c**2)
print(f"\n {R_need/1e3:.0f} km is inside the progenitor's own radius. No explosion")
print(" model puts the emitting surface there, so no revision to explosion")
print(" physics can rescue the correction at this rung.")
print("\nVERDICT: negligible, by a kinematic argument that does not depend on")
print(" simulating the explosion. The idea was right; the object was wrong.")
# ------------------------------------------------ the same fact, in ledger units
# The Ledger of the Way is additive in ln(1+z), so the two rungs can be compared
# directly against a length of background. This reproduces that note's table.
print("\n" + "="*64)
print("The same two objects, priced in the units of The Ledger of the Way")
print("="*64)
R_NS = 12.0e3 # m -- canonical neutron-star radius
PER_GPC = 0.2335 # ln(1+z) contributed by 1 Gpc of background (that note)
z_ns = 1.0/math.sqrt(1.0 - 2*G*M/(R_NS*c**2)) - 1.0 # exact Schwarzschild, not weak field
z_sn = z_grav(1.0e4 * 1e3 * 18 * 86400.0) # v = 10^4 km/s, t = 18 d
for lab, z in (("neutron-star surface, R = 12 km", z_ns),
("Type Ia photosphere, R = 1.6e10 km", z_sn)):
L = math.log1p(z)
Mpc = L / PER_GPC * 1000.0
unit = f"{Mpc:9.0f} Mpc" if Mpc > 1 else f"{Mpc*1e6:9.2f} pc "
print(f" {lab:36s} ln(1+z) = {L:.4e} worth {unit} of background")
print(f"\n ratio = {math.log1p(z_ns)/math.log1p(z_sn):.2e}")
print(" The neutron star's twelve kilometres are worth 905 megaparsecs of")
print(" universe; the supernova's photosphere is worth about half a parsec.")
print(" A factor of 1.6 billion, and it is a difference of RADIUS, not of physics.")
The idea was right and the object was wrong. A quasar is a supermassive black hole feeding: its ultraviolet light comes from the surrounding disk of hot matter, tens to hundreds of gravitational radii out — but its X-rays come from the corona, a compact region of energized plasma sitting at roughly five to ten Schwarzschild radii (the Schwarzschild radius
2What the Well Does to the Light
Two effects, both already in this series’ toolbox. First, gravitational redshift dimming: light climbing from radius r loses energy, and arrives at a rate slowed by the same factor — together dimming the flux by (1 −
3The Amplifier
The Risaliti–Lusso method infers a quasar’s distance by comparing its X-ray flux against its ultraviolet flux through their measured statistical relation. Propagating a dimming through that construction (differentiating the distance formula the method uses), one finds:
bias in inferred distance modulus = 2.5 × (X-ray dimming) − 1.5 × (UV dimming)
The construction amplifies X-ray dimming two-and-a-half-fold. For the typical geometry above, the standing bias is +0.70 magnitudes — but a bias constant across all quasars is silently absorbed when the relation is calibrated, exactly the lesson of the buried supernova correction. What cosmology feels is only the drift of coronal depth across the sample.
4The Scenario That Matches the Anomaly
The quasar Hubble diagram famously deviates from the standard model at redshifts above about 3, by 0.3–0.6 magnitudes in the direction of dimmer and farther — the claim behind “evolving dark energy.” Now price a drift: if the effective coronal radius across the sample slides from ten Schwarzschild radii at low redshift to five at high redshift, the induced bias is +0.44 magnitudes of apparent dimming at high redshift; ten-to-four gives +0.70. Direction and magnitude both match the claimed anomaly. And a selection mechanism lies ready to hand: surveys at high redshift see only the most luminous engines, and the most luminous, fastest-feeding engines are precisely those whose coronae are observed (by X-ray timing and microlensing) to be most compact. No cosmic conspiracy required — the telescope’s own selection walks the sample down the well. The hypothesis, plainly labeled: the high-redshift quasar anomaly may be gravitational redshift plus exit-cone capture of coronal X-rays, amplified by the distance construction and driven by luminosity selection — relativity in
5Caveats, Honestly
The corona is not a static emitter — motions and beaming modify the static-limit numbers; the table is the leading-order skeleton. The ultraviolet disk is itself mildly relativistic. The amplification factor depends on the measured slope of the X-ray/UV relation. And whether this specific bias has been proposed and tested in the quasar-cosmology literature must be checked in the literature pass this corpus owes — the idea is simple enough that someone may own it.
6Tests
Correlate the quasar Hubble-diagram residuals with independent measures of coronal compactness (X-ray variability timescales, the X-ray-to-UV spectral index, feeding rate): the hypothesis predicts the residual is an astrophysics axis, not a cosmology axis. (2) Re-fit the quasar record with a coronal-depth term included: the high-redshift anomaly should shrink toward the standard model — or toward metric D; the fit can carry both. (3) Gravitationally microlensed quasars yield direct coronal sizes: the subsample with measured coronae is the calibration set. Each test uses data that already exists.
7Bottom Line
The redshift correction buried at the supernova rung resurrects, correctly, at the quasar rung — with this series’ own exit-cone formula as its engine and a ×2.5 amplifier waiting inside the standard method. At the supernova rung the well was three parts in ten billion of a magnitude; at the quasar rung it is a third of a magnitude before amplification — and it sits exactly where modern cosmology reports its most publicized anomaly.
References
G. Risaliti and E. Lusso, Nature Astronomy 3, 272 (2019); E. Lusso et al., A&A 642, A150 (2020); quasar coronal sizes from X-ray reverberation and microlensing literature; and the papers and notes of this series (Paper 1 §6.1 — the exit cone; the cosmology paper; the Ledger of the Way). (Citations from memory; the literature-verification pass applies.)