2.5 Post-Newtonian corrections to the inspiral chirp

- If you are using the routine
`make_filters()`(Sec. ) to generate templates and you wish to include the 2.5 post-Newtonian corrections in your chirp calculations, simply set when you call`make_filters()`. The chirps returned will be 2.5 post-Newtonian chirps. - If you do not want the 2.5 post-Newtonian corrections
- they will slow down your chirp calculations -
set
when you call
`make_filters()`. This is probably what you have been doing, so you won't need to change anything. - The behavior of the post-Newtonian series does not get better as you go to higher order: if anything, it gets worse. Therefore, if you use 2.5 post-Newtonian order templates in your search, the admonition in Sec. about checking the ``corners ''of the filter-bank space hold in spades at higher order

Now, for a more thorough explanation:
The 2.5 post-Newtonian corrections to the
orbital frequency and phase
have been calculated by Blanchet [9].
These include corrections of O[]
beyond the quadrupole approximation in the
phase and frequency evolution.
The expressions are

and

Here is the dimensionless time variable given by Eq. (). The ellipses represent the second post-Newtonian terms already given in Eqs. () and (), as well as the spin correction given in Eqs. () and (). The constant is arbitrary; changing its value shifts the phase by a constant. In the code, it is set to the value of the time parameter at the beginning of the chirp; this insures that the argument of logarithm is close to unity throughout the chirp. The value of is then chosen so the phase is zero at the start time,

Computing the logarithm is slow, therefore the code is designed to logically step over the 2.5 post-Newtonian corrections unless they are explicitly called for. Perhaps, in the future, we will write some optimized code to speed up the log calculation.

How to (not) include the 2.5-post-Newtonian corrections
to the waveform in your chirp calculations:
As we stated above, simply changing the value of
the parameter is all that is needed
in `make_filters()`.
However,
if you are making direct calls to the underlying
routines `phase_frequency()` or `chirp_filters()`
(as opposed to having `make_filters()` do it for you)
you need to set `n_phaseterms=6`,
and `phaseterms[5] =1.0`.
This will turn on the 2.5 post-Newtonian corrections.
To illustrate this, here is how the code block in the
examples `phase_evoltn()` and `filters()`
has to be modified to include
the 2.5 post-Newtonian corrections.

/* post-Newtonian [O(1/c^n)] terms you wish to include (or suppress) in the phase and frequency evolution: */ n_phaseterms=6; phaseterms[0] =1.; /* The Newtonian piece */ phaseterms[1] =0.; /* There is no O(1/c) correction */ phaseterms[2] =1.; /* The post-Newtonian correction */ phaseterms[3] =1.; /* The 3/2 PN correction */ phaseterms[4] =1.; /* The 2 PN correction */ phaseterms[5] =1.; /* The 5/2 PN correction */

Notice that `n_phaseterms=6` and `phaseterms[5] =1.0`.
Nothing else needs to be changed in the examples.