org.apache.commons.math3.distribution

## Class SaddlePointExpansion

- java.lang.Object
- - org.apache.commons.math3.distribution.SaddlePointExpansion

-     final class SaddlePointExpansion
      extends Object

  Utility class used by various distributions to accurately compute their respective probability mass functions. The implementation for this class is based on the Catherine Loader's dbinom routines.

  This class is not intended to be called directly.

  References:

  1. Catherine Loader (2000). "Fast and Accurate Computation of Binomial Probabilities.". http://www.herine.net/stat/papers/dbinom.pdf
  Since:
    2.1
  Version:
    $Id: SaddlePointExpansion.java 1416643 2012-12-03 19:37:14Z tn $

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static double[]` | `EXACT_STIRLING_ERRORS` exact Stirling expansion error for certain values.
    `private static double` | `HALF_LOG_2_PI` 1/2 * log(2 π).

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `private` | `SaddlePointExpansion()` Default constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `(package private) static double` | `getDeviancePart(double x, double mu)` A part of the deviance portion of the saddle point approximation.
    `(package private) static double` | `getStirlingError(double z)` Compute the error of Stirling's series at the given value.
    `(package private) static double` | `logBinomialProbability(int x, int n, double p, double q)` Compute the logarithm of the PMF for a binomial distribution using the saddle point expansion.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### HALF_LOG_2_PI

          private static final double HALF_LOG_2_PI

      1/2 * log(2 π).

    - #### EXACT_STIRLING_ERRORS

          private static final double[] EXACT_STIRLING_ERRORS

      exact Stirling expansion error for certain values.

  - ### Constructor Detail

    - #### SaddlePointExpansion

          private SaddlePointExpansion()

      Default constructor.

  - ### Method Detail

    - #### getStirlingError

          static double getStirlingError(double z)

      Compute the error of Stirling's series at the given value.

      References:

      1. Eric W. Weisstein. "Stirling's Series." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/StirlingsSeries.html
      Parameters:
        `z` - the value.
      Returns:
        the Striling's series error.

    - #### getDeviancePart

          static double getDeviancePart(double x,
                               double mu)

      A part of the deviance portion of the saddle point approximation.

      References:

      1. Catherine Loader (2000). "Fast and Accurate Computation of Binomial Probabilities.". http://www.herine.net/stat/papers/dbinom.pdf
      Parameters:
        `x` - the x value.
        `mu` - the average.
      Returns:
        a part of the deviance.

    - #### logBinomialProbability

          static double logBinomialProbability(int x,
                                      int n,
                                      double p,
                                      double q)

      Compute the logarithm of the PMF for a binomial distribution using the saddle point expansion.
      Parameters:
        `x` - the value at which the probability is evaluated.
        `n` - the number of trials.
        `p` - the probability of success.
        `q` - the probability of failure (1 - p).
      Returns:
        log(p(x)).

Copyright (c) 2003-2013 Apache Software Foundation