Prototypes | |
static double | Q (double mu, double x) |
static double | c_mu (double mu, double xi) |
static double | lnA (int n, double mu) |
static double | half_zeta_2 (double x, double y) |
static double | zeta (double x, double y) |
static double | theta_over_sin_theta (double theta) |
static double | theta_over_sin_theta_primed_sin_theta (double theta) |
static double | rho (double theta_over_sin_theta_, double xi) |
static double | r (double theta, double y, double xi) |
static double | r_primed_sin_theta (double theta, double y, double xi) |
static double | f (double theta, double y, double xi) |
static double | psi (double theta, double xi) |
static void | f1_f2 (double x, double M, double *f1, double *f2) |
static double | MarcumQ_small_x (double M, double x, double y) |
static double | MarcumQ_large_xy (double M, double x, double y, double xi) |
static double | MarcumQ_recurrence (double M, double x, double y, double xi) |
static double | MarcumQ_large_M (double M, double x, double y) |
static double | integrand (double theta, void *integrand_params) |
static double | MarcumQ_quadrature (double M, double x, double y, double xi) |
double | XLALMarcumQmodified (double M, double x, double y) |
The modified form of the Marcum Q function. More... | |
double | XLALMarcumQ (double M, double a, double b) |
The function defined by J. Marcum,. More... | |
Go to the source code of this file.
Data Structures | |
struct | integrand_params |
|
static |
Definition at line 99 of file XLALMarcumQ.c.
|
static |
Definition at line 117 of file XLALMarcumQ.c.
|
static |
Definition at line 128 of file XLALMarcumQ.c.
|
static |
Definition at line 141 of file XLALMarcumQ.c.
|
static |
Definition at line 184 of file XLALMarcumQ.c.
|
static |
Definition at line 196 of file XLALMarcumQ.c.
|
static |
Definition at line 204 of file XLALMarcumQ.c.
|
static |
Definition at line 222 of file XLALMarcumQ.c.
|
static |
Definition at line 228 of file XLALMarcumQ.c.
|
static |
Definition at line 237 of file XLALMarcumQ.c.
|
static |
Definition at line 258 of file XLALMarcumQ.c.
|
static |
Definition at line 273 of file XLALMarcumQ.c.
|
static |
Definition at line 288 of file XLALMarcumQ.c.
|
static |
Definition at line 311 of file XLALMarcumQ.c.
|
static |
Definition at line 336 of file XLALMarcumQ.c.
|
static |
Definition at line 455 of file XLALMarcumQ.c.
|
static |
Definition at line 490 of file XLALMarcumQ.c.
|
static |
Definition at line 557 of file XLALMarcumQ.c.
|
static |
Definition at line 569 of file XLALMarcumQ.c.
double XLALMarcumQmodified | ( | double | M, |
double | x, | ||
double | y | ||
) |
The modified form of the Marcum Q function.
Used by Gil et al. in
A. Gil, J. Segura, and N. M. Temme. Algorithm 939: Computation of the Marcum Q-Function. ACM Transactions on Mathematical Software (TOMS), Volume 40 Issue 3, April 2014, Article No. 20. arXiv:1311.0681
The relationship between this function and the standard Marcum Q function is
XLALMarcumQmodified(M, x, y) = XLALMarcumQ(M, sqrt(2. * x), sqrt(2. * y)).
The function is defined for \(1 \leq M\), \(0 \leq x\), \(0 \leq y\). Additionally, the implementation here becomes inaccurate when \(M\), \(x\), or \(y\) is \(\geq 10000\).
Definition at line 626 of file XLALMarcumQ.c.
double XLALMarcumQ | ( | double | M, |
double | a, | ||
double | b | ||
) |
The function defined by J. Marcum,.
\[ Q_{M}(a, b) = \int_{b}^{\infty} x \left( \frac{x}{a} \right)^{M - 1} \exp \left( -\frac{x^{2} + a^{2}}{2} \right) I_{M - 1}(a x) \,\mathrm{d}x, \]
where \(I_{M - 1}\) is the modified Bessel function of order \(M - 1\).
The CCDF for the random variable \(x\) distributed according to the noncentral \(\chi^{2}\) distribution with \(k\) degrees-of-freedom and noncentrality parameter \(\lambda\) is \(Q_{k/2}(\sqrt{\lambda}, \sqrt{x})\).
The CCDF for the random variable \(x\) distributed according to the Rice distribution with noncentrality parameter \(\nu\) and width \(\sigma\) is \(Q_{1}(\nu/\sigma, x/\sigma)\).
The probability that a signal that would be seen in a two-phase matched filter with |SNR| \(\rho_{0}\) is seen to have matched filter |SNR| \(\geq \rho\) in stationary Gaussian noise is \(Q_{1}(\rho_{0}, \rho)\).
This function is implemented by computing the modified form used by Gil et al.,
XLALMarcumQ(M, a, b) = XLALMarcumQmodified(M, a * a / 2., b * b / 2.).
Definition at line 742 of file XLALMarcumQ.c.