Skip to content

IMRPhenomHM–SXS convention bridge — 2026-09-27

The hm.conventions.sxs-bridge.v1 source and tests establish the Fourier mode-pair algebra, the SXS positive-carrier target, and declared orbital, time, common-sign, and finite-reference gauge effects. They do not select an NR-derived phase factor or change a production waveform.

The independent SymPy/mpmath reference checks \(N_{\ell m}(f)=(-1)^\ell\overline{\mathcal F_-[h_{\ell m}](-f)}\) and \(P_{\ell m}(f)=(-1)^\ell N_{\ell m}(f)\). A sampled complex chirp checks both Fourier signs, time translation, physical orbital rotation, and even/odd \(\ell\) pair signs by direct numerical integration. The doubled relative phase check proves cancellation of common time and orbital shifts and the explicit effects of a common strain sign and the existing finite-reference adapter. Sources and derivation are in the component specification.

The conditional public gate compares all six full complex unprojected HM modes with the scalar assembly on Torch and JAX CPU FP64. It uses \((m_1,m_2)=(35,20)M_\odot\), \((\chi_1,\chi_2)=(0.2,-0.1)\), \(\phi_c=0.37\), \(t_c=0.008\) s, both london_2018 and phenomd_runtime transition variants, 11 frequencies around the map and ringdown joins per mode, and \(f_\mathrm{ref}=\mathrm{None}\) or \(40\) Hz. The maximum permitted full-complex relative error at each nonzero sample is 3e-8. D amplitude/phase, fit and QNM inputs, and the D peak slope for the finite gauge are supplied by the frontend. A shared upstream error could therefore pass this conditional check.

The check ran on host len, cwd /tmp/diffgw-hm-conventions-20260927/repo, with Python 3.12.3, Torch 2.14.0+cpu, JAX 0.11.2, NumPy 2.5.3, SciPy 1.18.1, SymPy 1.14.0, mpmath 1.3.0, and pytest 9.1.1. The maintained commands are:

JAX_ENABLE_X64=1 JAX_PLATFORMS=cpu PYTHONPATH=src \
  /tmp/diffgw-hm-sxs-2265-20260927/.venv/bin/python -m pytest -q \
  tests/test_imrphenomhm_sxs_conventions_math_reference.py \
  tests/test_imrphenomhm_intrinsic_modes_math_reference.py \
  --reference-device=cpu -ra

JAX_ENABLE_X64=1 JAX_PLATFORMS=cpu PYTHONPATH=src \
  /tmp/diffgw-hm-sxs-2265-20260927/.venv/bin/python -m pytest -q \
  tests/test_imrphenomhm_*math_reference.py --reference-device=cpu -ra

The focused final-snapshot run passed 17/17 tests in 31.87 s. The adjacent HM math-reference suite passed 300/300 in 164.11 s. That suite started just before one extra physical-rotation assertion was added to the synthetic convention test; the focused final-snapshot run covers the added assertion. The full suite ran via /tmp/diffgw-hm-conventions-20260927/run-all.sh, PID 374923, and completed with exit code 0. Its log and exit marker are /tmp/diffgw-hm-conventions-20260927/all-hm.log and all-hm.exit. There is no pending check or running job. If it were still running, the stop command would be ssh len 'kill 374923'. Ruff passed on all changed Python files, mkdocs build --strict passed, and git diff --check passed.

This component gate leaves the frozen 2265, 3631, and 3630 projection physical holdouts red. The earlier diagnostic \(-e^{i\pi/4}\) is still an unproved HM–SXS conversion. No acceptance threshold, data, or status in those receipts changed.