Class BetaGamma

java.lang.Object
  extended by Constants
      extended by BetaGamma

public class BetaGamma
extends Constants

Gamma and Beta functions.

Implementation:

Some code taken and adapted from the Java 2D Graph Package 2.4, which in turn is a port from the Cephes 2.2 Math Library (C). Most Cephes code (missing from the 2D Graph Package) directly ported.

Note this class is taken from cern.jet.stat.Gamma, but it's renamed to BetaGamma to avoid naming conflict -- Roby Joehanes


Field Summary
 
Fields inherited from class Constants
big, biginv, LOGPI, MACHEP, MAXGAM, MAXLOG, MINLOG, SQRTH, SQTPI
 
Constructor Summary
protected BetaGamma()
          Makes this class non instantiable, but still let's others inherit from it.
 
Method Summary
static double beta(double a, double b)
          Returns the beta function of the arguments.
static double gamma(double x)
          Returns the Gamma function of the argument.
static double incompleteBeta(double aa, double bb, double xx)
          Returns the Incomplete Beta Function evaluated from zero to xx; formerly named ibeta.
(package private) static double incompleteBetaFraction1(double a, double b, double x)
          Continued fraction expansion #1 for incomplete beta integral; formerly named incbcf.
(package private) static double incompleteBetaFraction2(double a, double b, double x)
          Continued fraction expansion #2 for incomplete beta integral; formerly named incbd.
static double incompleteGamma(double a, double x)
          Returns the Incomplete Gamma function; formerly named igamma.
static double incompleteGammaComplement(double a, double x)
          Returns the Complemented Incomplete Gamma function; formerly named igamc.
static double logGamma(double x)
          Returns the natural logarithm of the gamma function; formerly named lgamma.
(package private) static double powerSeries(double a, double b, double x)
          Power series for incomplete beta integral; formerly named pseries.
(package private) static double stirlingFormula(double x)
          Returns the Gamma function computed by Stirling's formula; formerly named stirf.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BetaGamma

protected BetaGamma()
Makes this class non instantiable, but still let's others inherit from it.

Method Detail

beta

public static double beta(double a,
                          double b)
                   throws java.lang.ArithmeticException
Returns the beta function of the arguments.
                   -     -
                  | (a) | (b)
 beta( a, b )  =  -----------.
                     -
                    | (a+b)
 

Throws:
java.lang.ArithmeticException

gamma

public static double gamma(double x)
                    throws java.lang.ArithmeticException
Returns the Gamma function of the argument.

Throws:
java.lang.ArithmeticException

incompleteBeta

public static double incompleteBeta(double aa,
                                    double bb,
                                    double xx)
                             throws java.lang.ArithmeticException
Returns the Incomplete Beta Function evaluated from zero to xx; formerly named ibeta.

Parameters:
aa - the alpha parameter of the beta distribution.
bb - the beta parameter of the beta distribution.
xx - the integration end point.
Throws:
java.lang.ArithmeticException

incompleteBetaFraction1

static double incompleteBetaFraction1(double a,
                                      double b,
                                      double x)
                               throws java.lang.ArithmeticException
Continued fraction expansion #1 for incomplete beta integral; formerly named incbcf.

Throws:
java.lang.ArithmeticException

incompleteBetaFraction2

static double incompleteBetaFraction2(double a,
                                      double b,
                                      double x)
                               throws java.lang.ArithmeticException
Continued fraction expansion #2 for incomplete beta integral; formerly named incbd.

Throws:
java.lang.ArithmeticException

incompleteGamma

public static double incompleteGamma(double a,
                                     double x)
                              throws java.lang.ArithmeticException
Returns the Incomplete Gamma function; formerly named igamma.

Parameters:
a - the parameter of the gamma distribution.
x - the integration end point.
Throws:
java.lang.ArithmeticException

incompleteGammaComplement

public static double incompleteGammaComplement(double a,
                                               double x)
                                        throws java.lang.ArithmeticException
Returns the Complemented Incomplete Gamma function; formerly named igamc.

Parameters:
a - the parameter of the gamma distribution.
x - the integration start point.
Throws:
java.lang.ArithmeticException

logGamma

public static double logGamma(double x)
                       throws java.lang.ArithmeticException
Returns the natural logarithm of the gamma function; formerly named lgamma.

Throws:
java.lang.ArithmeticException

powerSeries

static double powerSeries(double a,
                          double b,
                          double x)
                   throws java.lang.ArithmeticException
Power series for incomplete beta integral; formerly named pseries. Use when b*x is small and x not too close to 1.

Throws:
java.lang.ArithmeticException

stirlingFormula

static double stirlingFormula(double x)
                       throws java.lang.ArithmeticException
Returns the Gamma function computed by Stirling's formula; formerly named stirf. The polynomial STIR is valid for 33 <= x <= 172.

Throws:
java.lang.ArithmeticException