Skip to content

IMRPhenomT inspiral fit inputs

Scope and status

T-PN-FIT-INPUT-v1 covers the aligned (2,2) inspiral's calibrated TaylorT3 time shift t0 and five fitted frequency values at theta={0.45,0.55,0.65,0.75,0.82}. With the earlier paper-derived TaylorT3 frequency at theta=0.33, these form the six targets of T-PN-FREQ-COLLOC-v0. The source-backed evaluator is conditional on the pinned MIT author fits.py file; committed finite-grid values allow an unconditional backend regression. This is fit transcription, not a recalibration or complete waveform qualification.

Inputs, conventions, and options

The public inputs are ordered solar masses m1>=m2>0 and aligned dimensionless spins chi1,chi2 in [-1,1]. Set M=m1+m2, eta=m1*m2/M^2, delta=(m1-m2)/M, dchi=chi1-chi2, and S=(m1^2 chi1+m2^2 chi2)/(m1^2+m2^2). t0 is in total-mass time t/M; the five fitted values are dimensionless positive (2,2) angular frequencies. The native carrier's S is linear in spins. The source-backed grid uses float64 on CPU and these five cases, in order:

m1 m2 chi1 chi2 Purpose
30 30 0 0 equal mass, nonspinning
30 30 0.6 -0.2 equal mass, unequal spins
35 25 0.7 -0.5 unequal mass, mixed spins
60 6 0.9 0.1 high mass ratio, positive primary spin
90 5 -0.8 0.6 q=18, anti-aligned primary spin

The fits.py asset is phenomxpy/phenomt/fits.py at 4121fafa0484f3db2a7352f4eea697faaaf29f65, SHA-256 2dfcca659cd50d927b9e164867913a586e9b1372f58ffde424f8bfbd74b56e21. It is author software under the repository's MIT license; the full notice is in THIRD_PARTY_NOTICES.md. The fit expressions are attributed adaptations already present in diffgw_core/phenomt_fits.py. The numerical calibration inputs are not redistributed here.

Mathematics and components

Estellés et al., arXiv:2012.11923v1, Eqs. (8)–(11) and Sec. III specifies six collocation nodes and the linear system, but does not print the fit coefficients. The paper says each target was drawn from NR if the simulation extends to its node, otherwise SEOBNRv4, with Teukolsky-EOB hybrids at high mass ratio. The pinned author source supplies the complete algebraic maps t0(eta,S,dchi,delta) and F_i(eta,S,dchi,delta) for i=1..5. No coefficients are inferred from native outputs or LAL binaries.

At theta_0=0.33, set t_early=-5/(eta theta_0^8) and theta_shift=[eta(t0-t_early)/5]^(-1/8). The first target is the T-PN-T3-v1 frequency at theta_shift; the other five are the author-fit values. The six targets feed the independent T-PN-FREQ-COLLOC-v0 solve.

Component ID Source Status Reference Native Check
T-PN-FIT-INPUT-v1 THM 8–11; pinned MIT author fits.py conditional hash-checked author AST evaluator and finite-grid fixture shared phenomt_fits.py, Torch/JAX _coeff test_phenomt_inspiral_fit_inputs_math_reference.py

Implementation mapping

The optional reference evaluator reads the pinned author file by path, checks its SHA-256, extracts only the two named fit functions from its AST, discards Numba decorators, and evaluates their arithmetic without importing native code or the rest of phenomxpy. It checks the committed grid fixture against the author file. The strict no-network test compares that fixture with the shared fit functions evaluated as Python floats, Torch tensors, and JAX arrays. It also passes source-derived t0 and targets with the independent TaylorT3 coefficients into the scalar collocation solve and compares native pseudo-PN coefficients. Neither native frontend imports the reference or fixture. The pinned author fit is an external source of calibrated coefficients, not a paper-derived algebraic expression.

Evidence and limitations

The fixed thresholds are rtol=2e-11, atol=5e-10 for t0, rtol=2e-11, atol=2e-12 for fitted frequencies, and rtol=2e-8, atol=1e-8 for the conditioned six-node coefficient solve. No skips are permitted in the strict test. The author-file verifier requires the exact asset hash and must reproduce each committed value to 2e-13 relative or 2e-13 absolute. The validation receipt records the actual result and package versions. These checks establish a finite-grid transcription and assembly only. They do not reconstruct the NR/SEOBNRv4/Teukolsky-EOB calibration, bound interpolation error between grid points, or validate full inspiral/modes against physical waveforms.

Reproduce the checks

On len, obtain the pinned author file separately and run python scripts/verify_phenomt_author_inspiral_fits.py --author-fits /path/to/fits.py. For the maintained no-network gate, run JAX_ENABLE_X64=1 JAX_PLATFORMS=cpu PYTHONPATH=src:tests python -m pytest -q tests/test_phenomt_inspiral_fit_inputs_math_reference.py tests/test_phenomt_inspiral_collocation_math_reference.py --reference-device=cpu -ra. The repository-wide --require-math-reference option requires collecting the entire math suite. Any change to the author file/hash or fit mapping requires a new component version and reviewed fixture regeneration.