Ringdown and quadratic QNM models (tgr.nrsurqnm)
The tgr.nrsurqnm module builds beyond-GR ringdown waveforms on top of
the numerical-relativity surrogate NRSur7dq4. The full inspiral-merger-ringdown
signal is generated with the surrogate, and the late-time ringdown of selected
spherical-harmonic modes is then re-modelled as a superposition of quasi-normal
modes (QNMs). Working at the level of the QNMs allows controlled, physically
meaningful deviations from General Relativity (GR) to be injected mode by mode,
which is exactly what a test of GR requires.
This page describes the physics and the mathematics implemented by the module.
The auto-generated API reference for every function lives under
tgr.nrsurqnm in the tgr package package documentation.
Quasi-normal-mode ansatz
After merger, each spherical-harmonic mode of the strain rings down as a sum of damped sinusoids. A single QNM labelled by \((\ell, m, n)\) (harmonic indices and overtone number \(n\)) is
where \(t_0\) is the ringdown start time and \(A_{\ell m n}\in\mathbb{C}\) is a complex amplitude that fixes both the size and the initial phase of the mode. The complex angular frequency packages the oscillation frequency \(f_{\ell m n}\) and the damping time \(\tau_{\ell m n}\) into a single quantity,
so that the real part drives the oscillation and the imaginary part produces the exponential decay,
QNM spectrum of the remnant
The QNM frequencies and damping times are uniquely determined by the mass
\(M_f\) and dimensionless spin \(\chi_f\) of the remnant black hole. The
helper tgr.nrsurqnm.get_qnmpar() first predicts \((M_f, \chi_f)\) from
the initial binary parameters using the NRSur7dq4 remnant fits, and then maps
them to \((f_{\ell m n}, \tau_{\ell m n})\) for each requested mode.
Two kinds of mode labels are supported:
Linear (fundamental/overtone) modes — a 3-character label
"lmn"such as"220"or"221", evaluated directly as \((f_{\ell m n}, \tau_{\ell m n})\).Quadratic modes (QQNMs) — a 6-character label that concatenates two linear modes, e.g.
"220220"for \(220\times220\). A quadratic mode arises from the second-order coupling of two parent linear modes and rings at the sum frequency with the combined decay rate,(3)\[f_{(1)(2)} = f_{(1)} + f_{(2)} , \qquad \frac{1}{\tau_{(1)(2)}} = \frac{1}{\tau_{(1)}} + \frac{1}{\tau_{(2)}} .\]
Least-squares QNM decomposition
Given a target waveform \(h(t)\) and a chosen set of \(M\) modes,
tgr.nrsurqnm.qnm_decomposition() extracts the complex amplitudes by a
linear least-squares fit over the ringdown window
\(t \in [t_0,\, t_0 + T]\), where the window length
\(T = \log(1000)\,\max_k \tau_k\) is set by the slowest-decaying mode (i.e. it
extends until the dominant amplitude has dropped by a factor of \(10^3\)).
Sampling the templates (1) (with unit amplitude and an overall dynamical-range factor \(\eta=10^{-22}\) for numerical conditioning) on the \(N\) time samples \(t_j\) defines the design matrix \(G\in\mathbb{C}^{N\times M}\),
The amplitudes \(A = (A_1,\dots,A_M)^\top\) are the minimiser of the residual \(\lVert G A - h \rVert_2^2\), i.e. the solution of the normal equations
where \(G^{H}\) denotes the conjugate transpose. The fitted amplitudes are finally rescaled by \(\eta\) and propagated to the requested reference time \(t_0\) through the phase factor \(e^{-i\omega_k (t_0 - t_{\rm fit})}\).
Replacing the (4,4) ringdown: gen_nrsurqnm
tgr.nrsurqnm.gen_nrsurqnm() generates the full NRSur7dq4 signal,
keeps every mode except \((4,\pm 4)\), and reconstructs the
\((4,4)\) ringdown from its QNM decomposition (4). Deviations from
GR are injected through per-mode fractional amplitude parameters
\(\delta_{\ell m n}\) (keyword arguments delta_<mode>):
The reconstructed mode is mapped back to the two polarizations with the spin-weighted spherical harmonics of weight \(-2\) (see Recombination into polarizations).
Removing quadratic modes: gen_nrsur_remove_qqnm
tgr.nrsurqnm.gen_nrsur_remove_qqnm() isolates the contribution of the
quadratic modes to the \((4,4)\) ringdown so that a GR deviation can be
applied to them. The amplitude of a quadratic mode is fixed by the amplitudes of
its two parent linear \((2,2)\) modes, a theory-predicted complex ratio
\(R_{(1)(2)}(\chi_f)\) (interpolated as a function of remnant spin), and a unit
conversion to the surrogate’s dimensionless strain,
where \(d_L\) is the luminosity distance and \(\mathcal{C}\) rescales the physical amplitudes back to surrogate units. Each quadratic mode is then built as a damped sinusoid (1) with parameters (3) and subtracted from the \((4,4)\) ringdown.
Amplitude and phase deviation. The subtracted quadratic contribution is scaled by a single complex deviation factor
controlled by the keyword arguments quadratic_tgr (amplitude
\(a_{\rm TGR}\)) and quadratic_tgr_phase (phase
\(\varphi_{\rm TGR}\), in radians). The GR limit is
\(a_{\rm TGR}=1,\ \varphi_{\rm TGR}=0\), i.e. \(\kappa = 1\), which removes
exactly the GR-predicted quadratic mode. Tuning \(a_{\rm TGR}\) rescales how
much of the mode is removed, while \(\varphi_{\rm TGR}\) rotates it in the
complex plane, probing a phase offset of the quadratic coupling.
Frequency and damping-time deviation. Optionally, a quadratic mode with
non-GR spectral parameters can be re-injected. The keyword arguments
qqnm_deltaf and qqnm_deltatau shift the spectrum fractionally,
so the residual \((4,4)\) ringdown retains a quadratic mode that oscillates and decays at shifted rates relative to the GR prediction.
Recombination into polarizations
A mode \((\ell, m)\) in the co-precessing/source frame is projected onto the observer frame using the spin-weight \(-2\) spherical harmonics \({}_{-2}Y_{\ell m}(\iota, \phi)\), evaluated at the inclination \(\iota\) and a reference phase \(\phi = \pi/2 - \phi_{\rm coa}\). The modelled \((4,4)\)/\((4,-4)\) ringdown is recombined as
and the complex strain \(h = h_+ - i\,h_\times\) finally yields the two polarizations returned by every generator, \(h_+ = \mathrm{Re}\,h\) and \(h_\times = -\,\mathrm{Im}\,h\).
Tapered surrogate helper
For convenience tgr.nrsurqnm.gen_nrsur7dq4_tdtaper() returns the plain
NRSur7dq4 polarizations with a short Tukey-style taper of length window
(default \(0.05\,\mathrm{s}\)) applied at the start of the time series to
suppress turn-on transients.