Function:

This function attempts to find a parabolic fit to the match function near a reference template with masses (

Let the coordinates of the reference chirp be (
),
and define
,
. Then,
the fit to the match is of the form

(9.9.206) |

Written in the form on the second line, it is easy to show that, if the match is in fact parabolic, it has surfaces of constant value that are ellipses. The (unnormalized) eigenvectors of this matrix are given by

(9.9.207) |

and the eigenvalues are

(9.9.208) |

(Note: because the match is maximal at and falls off as and increase, the matrix is negative definite. The eigenvalues are therefore negative, and so .) From these values, it is simple to construct the equimatch ellipse. If the value of the match on the contour is , then the semimajor axis of the ellipse has length

(9.9.209) |

(9.9.210) |

(9.9.211) |

(9.9.212) |

The arguments to the function are:

`m1ref`: Input. Mass of body 1 for the reference chirp (solar masses).`m2ref`: Input. Mass of body 2 for the reference chirp (solar masses).`matchcont`: Input. The value of the match contour.`order`: Input. Twice the post-Newtonian order to be used in computing the templates;*i.e.*, the power of used in the post-Newtonian expansion.`srate`: Input. The sample rate, in Hz. Used to convert between integer array time-domain subscripts and frequency subscripts. For example this is the sample rate of the - and -phase reference chirps, before they are FFT'd.`flo`: Input. The low-frequency cutoff to impose, in Hz. Within the code, this is used as the starting frequency of the templates; see`make_filters()`.`ftau`: Input. The frequency used to find and ; see Eqs. () and (). Different authors use different conventions for this frequency--for example, Sathyaprakash uses the seismic wall frequency, whereas Owen uses the frequency at which the noise power is minimum.`ftau`is arbitrary, but should be used consistently: pick a value and stick with it.`noisefile`: Input. A character string that specifies the name of a data file containing information about the noise power spectrum of a dectector. See`noise_power()`for extended discussion.`semimajor`: Output. The semimajor axis of the ellipse along which the match has the value`matchcont`.`semiminor`: Output. The semiminor axis of the ellipse.`theta`: Output. The counterclockwise angle, in radians, between`semimajor`and the axis.`mcoef`: Output. The array`mcoef[0..2]`contains the coefficients of the parabolic fit to the match: .

The function works by sampling many templates in ()
coordinates that are close to the template with masses
(`m1ref,m2ref`). Periodically, it computes the best parabolic fit
to the data it has gathered so far and constructs the elliptical
contour corresponding to that fit. It then takes steps
around this ellipse and compares the value of the match predicted
by the fit with the actual match value at each point. It then computes
the following ``-like'' statistic:

(9.9.213) |

This function returns 0 if a good fit is not found (
is greater than 5 yet more than 250 templates have been
used to generate fit data), and 1 otherwise. If a good fit is
not found, then the match is not parabolic in the vicinity of the
template (`m1ref,m2ref`) down to
. This
is typically the case if the masses are large (so that there are
few cycles measured, and relativistic effects are very important),
and if the value of `matchcont` is too far from 1. For instance,
with the LIGO 40-meter prototype, `match_parab()` cannot
find a parabolic fit to the .97 match contour for a binary with
,
; but it *does* find
a parabolic fit for this binary at the .99 match contour.

- Author: Scott Hughes, hughes@tapir.caltech.edu