ProjectMetric.c File Reference

Author:
Creighton, T.Project out the zeroth dimension of a metric.
More...

#include <math.h>
#include <lal/LALStdlib.h>
#include <lal/StackMetric.h>

Include dependency graph for ProjectMetric.c:

Go to the source code of this file.

Functions

 NRCSID (PROJECTMETRICC,"$Id: ProjectMetric.c,v 1.5 2007/06/08 14:41:51 bema Exp $")
void LALProjectMetric (LALStatus *stat, REAL8Vector *metric, BOOLEAN errors)


Detailed Description

Author:
Creighton, T.Project out the zeroth dimension of a metric.

D.

Date:
2000
Id
ProjectMetric.c,v 1.5 2007/06/08 14:41:51 bema Exp

Description
This function takes a metric $g_{\alpha\beta}$, where $\alpha,\beta=0,1,\ldots,n$, and computes the projected metric $\gamma_{ij}$ on the subspace $i,j=1,\ldots,n$, as described in the header StackMetric.h.

The argument *metric stores the metric components in the manner used by the functions CoherentMetric() and StackMetric(), and errors indicates whether error estimates are included in *metric. Thus *metric is a vector of length $(n+1)(n+2)/2$ if errors is zero, or of length $(n+1)(n+2)$ if errors is nonzero; see CoherentMetric.c for the indexing scheme.

Upon return, *metric stores the components of $\gamma_{ij}$ in the same manner as above, with the physically meaningless components $\gamma_{\alpha0} = \gamma_{0\alpha}$ (and their uncertainties) set identically to zero.

Algorithm
The function simply implements Eq. (2) in header StackMetric.h. The formula used to convert uncertainties $s_{\alpha\beta}$ in the metric components $g_{\alpha\beta}$ into uncertainties $\sigma_{ij}$ in $\gamma_{ij}$ is:

\[ \sigma_{ij} = s_{ij} + s_{0i}\left|\frac{g_{0j}}{g_{00}}\right| + s_{0j}\left|\frac{g_{0i}}{g_{00}}\right| + s_{00}\left|\frac{g_{0i}g_{0j}}{(g_{00})^2}\right| \; . \]

Note that if the metric is highly degenerate, one may find that one or more projected components are comparable in magnitude to their estimated numerical uncertainties. This can occur when the observation times are very short or very long compared to the timescales over which the timing derivatives are varying. In the former case, one is advised to use analytic approximations or a different parameter basis. In the latter case, the degenerate components are often not relevant for data analysis, and can be effectively set to zero.

Technically, starting from a full metric $g_{\alpha\beta}(\mathbf{\lambda})$, the projection $\gamma_{ij}(\vec\lambda)$ is the metric of a subspace $\{\vec\lambda\}$ passing through the point $\mathbf{\lambda}$ on a plane orthogonal to the $\lambda^0$ axis. In order for $\gamma_{ij}$ to measure the maximum distance between points $\vec\lambda$, it is important to evaluate $g_{\alpha\beta}$ at the value of $\lambda^0$ that gives the largest possible separations. For the pulsar search formalism discussed in the header StackMetric.h, this is always achieved by choosing the largest value of $\lambda^0=f_\mathrm{max}$ that is to be covered in the search.

Definition in file ProjectMetric.c.


Function Documentation

NRCSID ( PROJECTMETRICC  ,
"$Id: ProjectMetric.  c,
v 1.5 2007/06/08 14:41:51 bema Exp $"   
)

void LALProjectMetric ( LALStatus stat,
REAL8Vector metric,
BOOLEAN  errors 
)

Definition at line 94 of file ProjectMetric.c.


Generated on Fri Sep 5 03:08:20 2008 for LAL by  doxygen 1.5.2