Skip to content

Kerr 220 opt-in public-clean composition gate

Status: blocked. This is a qualification receipt, not a versioned whole-waveform specification. The existing kerr-220-energy-carrier-conditional/v1 remains valid only when QNM frequency, damping, and angular factors are supplied. The opt-in kerr220_td/fd public-clean (2,2,0) path in Torch and JAX does not yet meet the independent angular source-of-truth gate. A separate source-spectral direct-call option passes selected angular and carrier checks without changing this default. This receipt does not assess the separate direct KerrRingdown class, whose spectral-angular physical-energy slice is versioned separately.

Scope and status

The check composes the public-clean QNM and angular factors with the causal TD and Fourier-minus FD polarizations for one physical-energy mode and its equatorial mirror. It checks two off-axis spins in CPU FP64. It does not qualify other modes, overtones, excitation, an entire spin domain, or intrinsic/angle gradients.

Inputs, conventions, and options

The cases are (final_spin, final_mass/Msun, distance/Mpc, energy_fraction, inclination/rad, phic/rad, tc/s) equal to (0.35, 53, 230, 0.017, 1.1, 0.41, 0.002) and (0.7, 92, 430, 0.005, 0.55, -0.27, -0.001). The TD samples are tc + (-0.001, 0, 0.002, 0.008) seconds and the FD samples are (-130, 0, 35, 110, 270) Hz. The reference uses the same unit-sphere angular norm, exp(+2i phic) azimuthal dependence, equatorial mirror, H(0)=1, and Fourier kernel exp(-2 pi i f t) as the conditional carrier. A complex phase rotation makes the reference spheroidal value at (theta, phi)=(pi/2, 0) positive real, matching the public angular evaluator's gauge before any comparison.

Mathematics and components

The independent 220 frequency comes from the radial continued fraction and angular eigenvalue equations recorded in the scalar QNM qualification. For its complex oblateness c=final_spin * M omega, the angular reference diagonalizes the spin-weight -2 operator in a unit-normalized spherical-harmonic basis. It continues the 220 eigenvalue from c=0, then evaluates the positive and reflected angular factors. This follows Cook and Zalutskiy's angular equation, spherical expansion, and reflection symmetry, Eqs. (4), (48), and (49)–(57), as detailed in the angular projection specification. The finite-quality-factor energy amplitude is mapped under the stated convention in the carrier specification, using the mode energy flux. The scalar carrier then computes both polarizations and the exact two-pole Fourier transform.

Implementation mapping

audit_kerr220_public_angular_gate.py uses diffgw_reference.kerr_qnm, diffgw_reference.kerr_angular, and diffgw_reference.kerr_ringdown without passing native QNM or angular values into the scalar calculation. It compares the resulting complete TD and FD pairs with kerr220_td and kerr220_fd in both torchwave.approximants.kerr_ringdown_public_clean and jaxwave.approximants.kerr_ringdown_public_clean. Its source SHA-256 output allows a remote source snapshot to be checked against a Git checkout.

The public-clean angular path uses the separate kerr_angular_table_convention implementation. Its absolute 0.01 Frobenius-series stopping rule and adaptive normalization were inferred from public binary outputs rather than specified by the angular paper. This is a compatibility convention; the source-backed spectral projection is a distinct calculation.

The historical angular cutoff ablation evaluated the same complex oblateness with a converged Frobenius series and the independent scalar Galerkin projection. Cook and Zalutskiy's power series, Eq. (15b), and spectral expansion, Eq. (49) define the regular angular solution through convergent expansions; neither defines a first-term-below-0.01 stop. All ablation values use the same unit-sphere norm and an equatorial-real phase gauge.

Evidence and limitations

Run on len with the matched source snapshot and Torch/JAX CPU FP64, SymPy, and mpmath. The QNM error is in dimensionless M omega; angular errors are absolute complex-value errors. TD/FD errors are relative L2 norms over both polarizations and the sample grids above.

Spin QNM error Angular ell_max=10 versus 12 Public angular S_+ error Public angular mirror error TD error FD error
0.35 3.9e-16 3.5e-18 6.1e-5 1.6e-5 1.68e-4 1.98e-4
0.7 4.2e-16 3.0e-14 5.35e-4 1.6e-6 9.44e-4 9.47e-4

Torch and JAX agree with each other to approximately 1e-16 on these comparisons. Their agreement does not resolve the independent angular mismatch. The mismatch remains after gauge alignment and exceeds the reference's angular truncation change by orders of magnitude. The ablation isolates the inferred angular-series stop and the norm computed from that stopped shape:

Spin Full series/full norm vs. scalar spectral, max relative Stopped series/full norm, max relative Full series/stopped norm, max relative Stopped series/stopped norm, max relative
0.35 2e-15 2.51e-4 3.79e-4 3.70e-4
0.7 4.4e-15 5.14e-4 6.93e-4 9.13e-4

The three angles are 1.1, pi-1.1, and pi/2 radians. At spin 0.35, the first included term below 0.01 is index 2 at all three angles; at 0.7 it is index 3, 2, and 3, respectively. The stopped/full norm ratios minus one are +3.7936e-4 and -6.9287e-4. The stopped-series/stopped-norm values reproduce the separate inferred public-compatible evaluator to <4e-16 relative, while the full-series/full-norm values agree with the independent equation solver near rounding precision. Thus the independent spectral solution needs no angular correction to explain this gap. The stop and its normalization are numerical compatibility choices, not a published angular equation or physical normalization. Consequently no versioned public-clean whole-waveform claim or catalog promotion is made.

To clear this gate, select and document a source-backed public angular variant or provide published support for the current convention, then rerun independent QNM–angular–carrier TD/FD checks, a fresh pinned binary holdout, and the applicable gradient gates for its declared inputs. Changing the public-clean convention may alter binary parity and must be assessed separately.

Reproduce the checks

In a checkout with the required scalar and frontend dependencies:

PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=src JAX_ENABLE_X64=1 JAX_PLATFORMS=cpu \
  python scripts/audit_kerr220_public_angular_gate.py

The script freezes the exact cases in source and reports source hashes and per-backend errors as JSON. The matched len snapshot used /home/xangma/.cache/diffgw-xp-pycbc-venv/bin/python. The separate cutoff ablation above is a historical diagnostic performed with Torch, SymPy, and mpmath; its one-off replay script is not maintained. The maintained source-angular check is tests/test_kerr_source_angular_math_reference.py, which does not replay the inferred cutoff ablation.