JWST Pipeline routines in IDL

A collection mantained by M. Robberto

single page | use frames     summary     class     fields     routine details     file attributes

covar2ellipse.pro

NAME: MPCHILIM

AUTHOR: Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770 craigm@lheamail.gsfc.nasa.gov UPDATED VERSIONs can be found on my WEB PAGE: http://cow.physics.wisc.edu/~craigm/idl/idl.html

PURPOSE: Compute confidence limits for chi-square statistic

MAJOR TOPICS: Curve and Surface Fitting, Statistics

CALLING SEQUENCE: DELCHI = MPCHILIM(PROB, DOF, [/SIGMA, /CLEVEL, /SLEVEL ])

DESCRIPTION:

The function MPCHILIM() computes confidence limits of the chi-square statistic for a desired probability level. The returned values, DELCHI, are the limiting chi-squared values: a chi-squared value of greater than DELCHI will occur by chance with probability PROB:

P_CHI(CHI > DELCHI; DOF) = PROB

In specifying the probability level the user has three choices:

* give the confidence level (default);

* give the significance level (i.e., 1 - confidence level) and pass the /SLEVEL keyword; OR

* give the "sigma" of the probability (i.e., compute the probability based on the normal distribution) and pass the /SIGMA keyword.

Note that /SLEVEL, /CLEVEL and /SIGMA are mutually exclusive.

INPUTS:

PROB - scalar or vector number, giving the desired probability level as described above.

DOF - scalar or vector number, giving the number of degrees of freedom in the chi-square distribution.

RETURNS:

Returns a scalar or vector of chi-square confidence limits.

KEYWORD PARAMETERS:

SLEVEL - if set, then PROB describes the significance level.

CLEVEL - if set, then PROB describes the confidence level (default).

SIGMA - if set, then PROB is the number of "sigma" away from the mean in the normal distribution.

EXAMPLES:

print, mpchilim(0.99d, 2d, /clevel)

Print the 99% confidence limit for a chi-squared of 2 degrees of freedom.

print, mpchilim(5d, 2d, /sigma)

Print the "5 sigma" confidence limit for a chi-squared of 2 degrees of freedom. Here "5 sigma" indicates the gaussian probability of a 5 sigma event or greater. P_GAUSS(5D) = 1D - 5.7330314e-07

REFERENCES:

Algorithms taken from CEPHES special function library, by Stephen Moshier. (http://www.netlib.org/cephes/)

MODIFICATION HISTORY: Completed, 1999, CM Documented, 16 Nov 2001, CM Reduced obtrusiveness of common block and math error handling, 18 Nov 2001, CM Convert to IDL 5 array syntax (!), 16 Jul 2006, CM Move STRICTARR compile option inside each function/procedure, 9 Oct 2006 Add usage message, 24 Nov 2006, CM Usage message with /CONTINUE, 23 Sep 2009, CM

\$Id: mpchilim.pro,v 1.8 2009/09/23 20:12:46 craigm Exp \$

Routines

`result = covar2ellipse(covar, nsigma=nsigma)`

NAME: COVAR2ELLIPSE()

`cephes_setmachar`
`result = cephes_polevl(x, coef)`

function

`result = cephes_ndtri(y0)`
`result = cephes_igam(a, x)`

Incomplete gamma integral

`result = cephes_igamc(a, x)`

Complemented incomplete gamma integral

`result = cephes_igami(a, y0)`

Inverse of complemented imcomplete gamma integral

`result = mpchilim(p, dof, sigma=sigma, clevel=clevel, slevel=slevel)`

GLS routines to calculate linear fit

topsource covar2ellipse

`result = covar2ellipse(covar, nsigma=nsigma)`

NAME: COVAR2ELLIPSE()

PURPOSE: Given a 2D covariance matrix, compute the parameters of the confidence ellipse.

INPUTS: covar - 2D covariance matrix

OPTIONAL INPUTS: nsigma - desired confidence interval; default is 1-sigma

KEYWORD PARAMETERS:

OUTPUTS: ellipse - data structure containing the parameters of the ellipse

OPTIONAL OUTPUTS:

COMMENTS: Based entirely on D. Coe's beautiful Fisher-matrix write-up, astro-ph/0906.3123.

EXAMPLES:

MODIFICATION HISTORY: J. Moustakas, 2010 Jul 09, UCSD

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

covar

nsigma

Statistics

 Lines: 25 lines McCabe complexity: 1

topsource cephes_setmachar

`cephes_setmachar`

Statistics

 Lines: 21 lines McCabe complexity: 2

topsource cephes_polevl

`result = cephes_polevl(x, coef)`

function

x
coef

Statistics

 Lines: 7 lines McCabe complexity: 1

topsource cephes_ndtri

`result = cephes_ndtri(y0)`

y0

Statistics

 Lines: 118 lines McCabe complexity: 6

topsource cephes_igam

`result = cephes_igam(a, x)`

Incomplete gamma integral

SYNOPSIS:

double a, x, y, igam();

y = igam( a, x );

DESCRIPTION:

The function is defined by

x - 1 | | -t a-1 igam(a,x) = ----- | e t dt. - | | | (a) - 0

In this implementation both arguments must be positive. The integral is evaluated by either a power series or continued fraction expansion, depending on the relative values of a and x.

ACCURACY:

Relative error: arithmetic domain # trials peak rms IEEE 0,30 200000 3.6e-14 2.9e-15 IEEE 0,100 300000 9.9e-14 1.5e-14

a
x

Statistics

 Lines: 63 lines McCabe complexity: 1

topsource cephes_igamc

`result = cephes_igamc(a, x)`

Complemented incomplete gamma integral

SYNOPSIS:

double a, x, y, igamc();

y = igamc( a, x );

DESCRIPTION:

The function is defined by

igamc(a,x) = 1 - igam(a,x)

inf. - 1 | | -t a-1 = ----- | e t dt. - | | | (a) - x

In this implementation both arguments must be positive. The integral is evaluated by either a power series or continued fraction expansion, depending on the relative values of a and x.

ACCURACY:

Tested at random a, x. a x Relative error: arithmetic domain domain # trials peak rms IEEE 0.5,100 0,100 200000 1.9e-14 1.7e-15 IEEE 0.01,0.5 0,100 200000 1.4e-13 1.6e-15

a
x

Statistics

 Lines: 96 lines McCabe complexity: 3

topsource cephes_igami

`result = cephes_igami(a, y0)`

Inverse of complemented imcomplete gamma integral

SYNOPSIS:

double a, x, p, igami();

x = igami( a, p );

DESCRIPTION:

Given p, the function finds x such that

igamc( a, x ) = p.

Starting with the approximate value

3 x = a t

where

t = 1 - d - ndtri(p) sqrt(d)

and

d = 1/9a,

the routine performs up to 10 Newton iterations to find the root of igamc(a,x) - p = 0.

ACCURACY:

Tested at random a, p in the intervals indicated.

a p Relative error: arithmetic domain domain # trials peak rms IEEE 0.5,100 0,0.5 100000 1.0e-14 1.7e-15 IEEE 0.01,0.5 0,0.5 100000 9.0e-14 3.4e-15 IEEE 0.5,10000 0,0.5 20000 2.3e-13 3.8e-14

a
y0

Statistics

 Lines: 145 lines McCabe complexity: 21

topsource mpchilim

`result = mpchilim(p, dof, sigma=sigma, clevel=clevel, slevel=slevel)`

GLS routines to calculate linear fit

p
dof

sigma
clevel
slevel

Statistics

 Lines: 35 lines McCabe complexity: 6

File attributes

 Modification date: Mon Apr 29 10:31:39 2013 Lines: 677