The Ledger of the Way: Cumulative Redshift as a Potential Difference
Light climbing out of a gravitational well loses energy and arrives redder — measured on Earth to exquisite precision, and enormous on a neutron star’s surface. Light crossing the cosmos arrives redder too. When one journey involves both — wells within wells, then the long way home — how do the redshifts combine? Multiply or add? Does the path matter? Is there one equation for the whole way?
Take a photon born on the surface of a neutron star, deep in its own gravitational well, inside a galaxy’s well, inside a cluster’s well, riding the background curvature a gigaparsec to our telescope — itself sitting inside the Milky Way’s well. What total redshift arrives? This note derives the answer in one equation and shows that in a static cosmology the whole journey collapses into a ledger: a sum of entries, one per well, plus one for the background — and only the endpoints matter. The worked example: twelve kilometres of neutron-star surface are worth 905 megaparsecs of universe. Out of the same equation falls the cleanest falsifier this series owns: the redshift of every source must never drift with time — while the standard model demands it must. Every symbol is introduced before use.
1The Question
2The Master Equation
Recall two definitions, walked slowly. The redshift z measures stretching: 1 + z is the factor by which each received wave is longer than when it was sent. The lapse
Ẽ =
1 + z =
The total redshift is a ratio of two local clock rates. Nothing else. To make it a ledger, take the logarithm (the natural bookkeeping of multiplied factors) and define the potential of the way, Φ(x) = −ln
ln(1 + z) = Φ(emitter) − Φ(observer)
And the lapse of a many-welled universe factorizes — the background times each well:
where k =
3The Ledger, Executed: a Neutron Star at One Gigaparsec
Read the first and last lines together: the twelve kilometres of a neutron star’s surface contribute as much to the ledger as 905 megaparsecs of universe. This is also why the correction is nothing at the supernova rung and everything at compact ones. A Type Ia’s light leaves not from the white dwarf but from a photosphere some 10¹⁰ km out, so its entry is 1.3×10⁻¹⁰ — worth about half a parsec of background against the neutron star’s 905 megaparsecs, a factor of 1.6 billion. That is a difference of radius, not of physics, and it needs no model of the explosion to establish. Note also the honest minus sign: the observer’s own well partially refunds the climb. The ledger balances at both ends, as a ledger must.
supernova_well_bound.py — ledger
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.")
4What the Equation Buys: Two Theorems and a Falsifier
Path independence. The ledger depends only on endpoints — mathematically, because a difference of potentials doesn’t care about the route. Physical consequence: gravitational lensing can bend a ray around any detour whatsoever and cannot change its redshift by one part in anything. 4.1 The Fork: Does the Distance Grow? The objection arrives naturally: “surely the object gets more distant over time, so tomorrow’s redshift is greater.” That is the expanding picture, and the model must choose. Branch one, strictly static: redshift is position in the potential, not history; the drift is exactly zero. Branch two, the slow spiral: if proper distances really grow, consistency already caps the rate — today’s redshift is fully paid by the potential, so any true recession stacks its own Doppler shift on top, and the supernova fit (good to ±0.1 magnitudes) tolerates only a few percent of the naive rate. The three contenders then separate cleanly, per decade of watching: (The units: a drift in redshift is expressed as an apparent velocity change, centimetres per second, over ten years of observation.) Note the standard model’s signature: its drift changes sign near z ≈ 2 — positive nearby, −5 cm/s at z = 4 — because in an expanding universe redshift is accumulated history, and history accumulates differently at different depths. This model, in either branch, can never produce that sign flip. 4.2 The Yardstick: Why the Distance Does Not Grow. The deeper form of the objection: “tomorrow’s distance is measured with tomorrow’s yardstick — it has to increase.” A yardstick is atoms; its length is set by the Bohr radius,
5Remarks
Moving emitters add an ordinary Doppler factor multiplying the static ledger — peculiar velocities are entries of order v/
References
R. C. Tolman and P. Ehrenfest, Phys. Rev. 36, 1791 (1930); I. M. H. Etherington (1933); A. Sandage (1962) and A. Loeb (1998) on redshift drift; C. Wetterich, Phys. Dark Univ. 2, 184 (2013); the ELT/ANDES instrument programme; and the papers and notes of this series (Paper 2 and the Four Calculations note; the Postulates). (Citations from memory; the literature-verification pass applies.)