Skip to content

NSBH London 220 ringdown input, v1

Scope and status

This is a source-first component specification for the Kerr (2,2,0) ringdown frequency and quality factor used by the PhenomNSBH amplitude. Remnant mass and spin are supplied inputs. This gate does not qualify their Zappa/Jiménez-Forteza provider, the PhenomD phase QNM interpolation, or the whole waveform.

Inputs, conventions, and options

M_f > 0 is the final gravitational mass in solar masses and -1 < chi_f < 1 is aligned dimensionless final spin. f_RD is in Hz; Q is dimensionless. The complex QNM frequency uses the paper's positive imaginary damping convention. Convert solar masses to seconds using G M_sun/c^3, with G=6.67430e-11 m^3 kg^-1 s^-2, M_sun=1.9884098706980507e30 kg, and c=299792458 m/s.

Mathematics and components

London and Fauchon-Jones, arXiv:1810.03550v2, Eqs. (21)–(22) give the 220 zero-damping polynomial. The same expression and conversion are printed in Thompson et al., arXiv:2002.08383v2, Appendix A, Eqs. (16)–(19):

kappa = sqrt(log(2-chi_f)/log(3)),

w = 1 + sum_{n=1}^5 A_n exp(i theta_n) kappa^n,

where (A_n, theta_n) in order are (1.5578,2.9031), (1.9510,5.9210), (2.0997,2.7606), (1.4109,5.9143), and (0.4106,2.7952). Then f_RD = Re(w)/(2 pi M_f G M_sun/c^3) and Q = Re(w)/(2 Im(w)).

Component ID/version Source Scalar reference Native check
nsbh.qnm.london-220.v1 London Eq. (22); Thompson Eqs. (16)–(19) diffgw_reference.nsbh_london_qnm test_nsbh_london_qnm_math_reference.py

Implementation mapping

The independent scalar reference evaluates the printed decimal coefficients as high-precision numbers, assembles the complex polynomial, and applies the two conversions. Torch and JAX production checks call their existing london_ringdown_properties directly. The scalar module must not import Torch, JAX, LAL, or native NSBH helpers. Native defaults remain unchanged.

Evidence and limitations

Frozen before native comparison: M_f=(2.8,8.4,30.0) solar masses and chi_f=(-0.9,-0.5,0,0.5,0.9,0.99), all 18 cross-products. For every case, 70- and 90-digit scalar results must agree to relative 1e-50 for both outputs; CPU FP64 Torch and JAX must each satisfy relative error <=3e-12 against the 90-digit scalar for both outputs. Inverse mass scaling and positivity must also hold at this limit. There is no fitting, phase/time alignment, or binary-derived coefficient. These limits do not certify the accuracy of the phenomenological fit against Kerr perturbation solutions; they certify implementation of the printed fit.

The Zappa 2019 PDF v2 Supplementary Table I prints its 24 tidal-factor coefficients to only about 2–3 significant figures. Jiménez-Forteza 2017 Tables 1–4 and 7–10 also round BBH remnant fit coefficients, whereas native bbh_remnant_uib2016 and zappa_remnant_properties use additional digits. An exact-decimal scalar comparison of the full remnant chain would silently take unpublished precision from an implementation. That dependency remains conditional until a source-defined rounding interval and variant treatment are frozen and checked separately. The supplied remnant inputs in this gate are therefore not claimed to be paper qualified.

Reproduce the checks

Run PYTHONPATH=src JAX_ENABLE_X64=1 pytest -q tests/test_nsbh_london_qnm_math_reference.py on CPU FP64 with SymPy, mpmath, Torch, and JAX. The corresponding validation receipt records exact host, environment, errors, and neighboring tests. Any change to input grid, fit variant, or tolerance requires a new specification version before comparison.