int qn_qring(float psi0, float eps, float M, float a, float dt, float atten, int max, float **strainPtr)The routine

`psi0`: Input. The initial phase (in radians) of the waveform (see below).`eps`: Input. The fractional mass loss in quadrupolar () radiation. ( .)`M`: Input. The mass of the black hole in solar masses.`a`: Input. The dimensionless angular momentum parameter of the Kerr black hole, , which is negative if the black hole is spinning clockwise about the axis (see figure ).`dt`: Input. The time interval, in seconds, between successive data points in the returned waveform.`atten`: Input: The attenuation level, in dB, at which the routine will terminate calculation of the waveforms.`max`: Input. The maximum number of data points to be returned in the waveforms.`strainPtr`: Input/Output. A pointer to an array which, on return, contains the angle-averaged waveform sampled at intervals`dt`. If the array has the value`NULL`on input, the routine allocates an amount of memory to`*strainPtr`to hold`max`elements.

The routine `qn_ring()` returns the number of data points that were
written to the array `(*strainPtr)[]`; this
is either the number specified by the input parameter `max` or the
number of points computed when the waveform was attenuated by the threshold
`atten`. The array contains the *angle averaged waveform*

(8.9.178) |

(8.9.179) |

where the overbar indicates a time average over a single cycle; approximate equality becomes exact in the limit of a high quality ringdown. It is in this sense that the quantity can be viewed as an angle-averaged waveform.

Rather than compute the eigenfrequency using the routine
`qn_eigenvalues()`, this routine uses the analytic fits to the
eigenfrequency found by Echeverria [25].
These expressions are:

(8.9.180) |

(8.9.181) | |||

(8.9.182) |

- Author: Jolien Creighton, jolien@tapir.caltech.edu
- Comments: Since this routine does not need to compute the spheroidal
wave function and uses an analytic approximation to the eigenfrequency,
it is much simpler than the routine
`qn_ring()`. The approximate eigenfrequencies are typically accurate to within , so this routine is to be preferred when computing quadrupolar quasinormal waveforms unless accuracy is critical.