IMRPhenomXHM non-mixing intermediate phase
Scope and status
xhm.phase.intermediate.nonmix-collocation.v1 is a research-only component for
the (2,1), (3,3), and (4,4) intrinsic mode phases. It specifies the
printed default collocation geometry and the five-coefficient phase-derivative
solve for supplied fitted targets. It does not certify the target fit
surfaces, inspiral/ringdown attachment, (3,2) mode, or a complete waveform.
The acceptance thresholds below were fixed before comparing the native
frontends: default-node absolute error at most 2e-14, coefficient relative
error at most 5e-8 (with absolute floor 1e-10), phase/derivative absolute
error at most 2e-8 on the declared dimensionless-frequency fixtures, and
autodiff against independent central differences to 2e-5 relative.
Inputs, conventions, and options
Inputs are dimensionless Fourier frequencies Mf > 0, symmetric mass ratio
1e-6 <= eta <= 1/4 for native comparisons, a positive inspiral phase cut f_ins, ring frequency
f_ring > f_ins, damping frequency f_damp > 0, and five supplied fitted
phase-derivative targets. The default nodes are the paper's [C1,C2,E2,E3,E5]
subset. This component leaves the additive phase constant at zero; the full
model fixes it at an attachment. The scalar evaluator uses mpmath at 70 decimal
digits, while native comparisons use CPU float64.
The production node helpers retain the pre-existing eta floor of 1e-6 outside
this declared comparison domain; the scalar reference evaluates the printed
formula for any positive eta.
Mathematics and components
García-Quirós et al., arXiv:2001.10914v2, Sec. V B, Eqs. (38)--(39), Table 7, and the paragraph following Table 7 give
where r=f_ring, d=f_damp, and a_3=0. The five coefficients solve
phi'(f_i)=F_i. With s=beta(eta) f_ins, e=f_ring, and
beta=1+0.001(0.25/eta-1), the default nodes are
Termwise integration, with an unfixed constant, gives
a_lambda atan((f-r)/d)+a_0 f+a_1 log(f)-a_2/f-a_4/(3f^3).
The independent scalar reference constructs the five linear equations from
these expressions and solves them at high precision.
Implementation mapping
The independent reference is
diffgw_reference.imrphenomxhm_intermediate_phase. Torch and JAX production
call _nonmix_intermediate_phase_nodes,
_nonmix_intermediate_phase_coefficients, and the phase and derivative
evaluators in their respective imrphenom_xhm.py modules. Neither frontend
imports the reference or fitted targets from it.
Evidence and limitations
The gate checks default nodes, coefficient solve, all five interpolation conditions, integrated phase and analytic derivative, native batch values, Torch parameter gradients, and JAX JIT/grad. Targets are deliberately supplied fixtures: agreement proves the printed algebra and native solve for those cases, not the provenance or accuracy of the actual fitted surfaces. The paper's alternate sparse-calibration subset is outside this v1 component. The full XHM and XPHM release gates remain unqualified.
Reproduce the checks
On a float64 Torch/JAX CPU environment: