Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.math.distribution
Class NormalDistributionImpl

    java.lang.Object
      org.apache.commons.math.distribution.AbstractDistribution
          org.apache.commons.math.distribution.AbstractContinuousDistribution
              org.apache.commons.math.distribution.NormalDistributionImpl

All Implemented Interfaces:
  java.io.Serializable, ContinuousDistribution, Distribution, HasDensity<java.lang.Double>, NormalDistribution

    public class NormalDistributionImpl

extends AbstractContinuousDistribution
implements NormalDistribution, java.io.Serializable

Default implementation of `NormalDistribution`.

Version:
  $Revision: 925812 $ $Date: 2010-03-21 11:49:31 -0400 (Sun, 21 Mar 2010) $
See Also:
  Serialized Form

Field Summary
`static double` | `DEFAULT_INVERSE_ABSOLUTE_ACCURACY` Default inverse cumulative probability accuracy
`private double` | `mean` The mean of this distribution.
`private static long` | `serialVersionUID` Serializable version identifier
`private double` | `solverAbsoluteAccuracy` Inverse cumulative probability accuracy
`private static double` | `SQRT2PI` &sqrt;(2 π)
`private double` | `standardDeviation` The standard deviation of this distribution.

Constructor Summary
`NormalDistributionImpl()` Creates normal distribution with the mean equal to zero and standard deviation equal to one.
`NormalDistributionImpl(double mean, double sd)` Create a normal distribution using the given mean and standard deviation.
`NormalDistributionImpl(double mean, double sd, double inverseCumAccuracy)` Create a normal distribution using the given mean, standard deviation and inverse cumulative distribution accuracy.

Method Summary
`double` | `cumulativeProbability(double x)` For this distribution, X, this method returns P(X < `x`).
`double` | `density(double x)` Returns the probability density for a particular point.
`double` | `density(java.lang.Double x)` Deprecated.
`protected double` | `getDomainLowerBound(double p)` Access the domain value lower bound, based on `p`, used to bracket a CDF root.
`protected double` | `getDomainUpperBound(double p)` Access the domain value upper bound, based on `p`, used to bracket a CDF root.
`protected double` | `getInitialDomain(double p)` Access the initial domain value, based on `p`, used to bracket a CDF root.
`double` | `getMean()` Access the mean.
`protected double` | `getSolverAbsoluteAccuracy()` Return the absolute accuracy setting of the solver used to estimate inverse cumulative probabilities.
`double` | `getStandardDeviation()` Access the standard deviation.
`double` | `inverseCumulativeProbability(double p)` For this distribution, X, this method returns the critical point x, such that P(X < x) = `p`.
`void` | `setMean(double mean)` Deprecated. as of 2.1 (class will become immutable in 3.0)
`private void` | `setMeanInternal(double newMean)` Modify the mean.
`void` | `setStandardDeviation(double sd)` Deprecated. as of 2.1 (class will become immutable in 3.0)
`private void` | `setStandardDeviationInternal(double sd)` Modify the standard deviation.

Methods inherited from class org.apache.commons.math.distribution.AbstractDistribution
`cumulativeProbability`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.commons.math.distribution.Distribution
`cumulativeProbability`

Field Detail

### DEFAULT_INVERSE_ABSOLUTE_ACCURACY

    public static final double DEFAULT_INVERSE_ABSOLUTE_ACCURACY

  Default inverse cumulative probability accuracy

  Since:
    2.1
  See Also:
    Constant Field Values

### serialVersionUID

    private static final long serialVersionUID

  Serializable version identifier

  See Also:
    Constant Field Values

### SQRT2PI

    private static final double SQRT2PI

  &sqrt;(2 π)

### mean

    private double mean

  The mean of this distribution.

### standardDeviation

    private double standardDeviation

  The standard deviation of this distribution.

### solverAbsoluteAccuracy

    private final double solverAbsoluteAccuracy

  Inverse cumulative probability accuracy

Constructor Detail

### NormalDistributionImpl

    public NormalDistributionImpl(double mean,
                                  double sd)

  Create a normal distribution using the given mean and standard deviation.

  Parameters:
    `mean` - mean for this distribution
    `sd` - standard deviation for this distribution

### NormalDistributionImpl

    public NormalDistributionImpl(double mean,
                                  double sd,
                                  double inverseCumAccuracy)

  Create a normal distribution using the given mean, standard deviation and inverse cumulative distribution accuracy.

  Parameters:
    `mean` - mean for this distribution
    `sd` - standard deviation for this distribution
    `inverseCumAccuracy` - inverse cumulative probability accuracy
  Since:
    2.1

### NormalDistributionImpl

    public NormalDistributionImpl()

  Creates normal distribution with the mean equal to zero and standard deviation equal to one.

Method Detail

### getMean

    public double getMean()

  Access the mean.

  Specified by:
    `getMean` in interface `NormalDistribution`
  Returns:
    mean for this distribution

### setMean

    @Deprecated
    public void setMean(double mean)

  Deprecated. as of 2.1 (class will become immutable in 3.0)

  Modify the mean.

  Specified by:
    `setMean` in interface `NormalDistribution`
  Parameters:
    `mean` - for this distribution

### setMeanInternal

    private void setMeanInternal(double newMean)

  Modify the mean.

  Parameters:
    `newMean` - for this distribution

### getStandardDeviation

    public double getStandardDeviation()

  Access the standard deviation.

  Specified by:
    `getStandardDeviation` in interface `NormalDistribution`
  Returns:
    standard deviation for this distribution

### setStandardDeviation

    @Deprecated
    public void setStandardDeviation(double sd)

  Deprecated. as of 2.1 (class will become immutable in 3.0)

  Modify the standard deviation.

  Specified by:
    `setStandardDeviation` in interface `NormalDistribution`
  Parameters:
    `sd` - standard deviation for this distribution
  Throws:
    `java.lang.IllegalArgumentException` - if `sd` is not positive.

### setStandardDeviationInternal

    private void setStandardDeviationInternal(double sd)

  Modify the standard deviation.

  Parameters:
    `sd` - standard deviation for this distribution
  Throws:
    `java.lang.IllegalArgumentException` - if `sd` is not positive.

### density

    public double density(java.lang.Double x)

  Deprecated.

  Return the probability density for a particular point.

  Specified by:
    `density` in interface `HasDensity<java.lang.Double>`
  Specified by:
    `density` in interface `NormalDistribution`
  Parameters:
    `x` - The point at which the density should be computed.
  Returns:
    The pdf at point x.

### density

    public double density(double x)

  Returns the probability density for a particular point.

  Overrides:
    `density` in class `AbstractContinuousDistribution`
  Parameters:
    `x` - The point at which the density should be computed.
  Returns:
    The pdf at point x.
  Since:
    2.1

### cumulativeProbability

    public double cumulativeProbability(double x)
                                 throws MathException

  For this distribution, X, this method returns P(X < `x`).

  Specified by:
    `cumulativeProbability` in interface `Distribution`
  Parameters:
    `x` - the value at which the CDF is evaluated.
  Returns:
    CDF evaluted at `x`.
  Throws:
    `MathException` - if the algorithm fails to converge; unless x is more than 20 standard deviations from the mean, in which case the convergence exception is caught and 0 or 1 is returned.

### getSolverAbsoluteAccuracy

    protected double getSolverAbsoluteAccuracy()

  Return the absolute accuracy setting of the solver used to estimate inverse cumulative probabilities.

  Overrides:
    `getSolverAbsoluteAccuracy` in class `AbstractContinuousDistribution`
  Returns:
    the solver absolute accuracy
  Since:
    2.1

### inverseCumulativeProbability

    public double inverseCumulativeProbability(double p)
                                        throws MathException

  For this distribution, X, this method returns the critical point x, such that P(X < x) = `p`.

  Returns `Double.NEGATIVE_INFINITY` for p=0 and `Double.POSITIVE_INFINITY` for p=1.

  Specified by:
    `inverseCumulativeProbability` in interface `ContinuousDistribution`
  Overrides:
    `inverseCumulativeProbability` in class `AbstractContinuousDistribution`
  Parameters:
    `p` - the desired probability
  Returns:
    x, such that P(X < x) = `p`
  Throws:
    `MathException` - if the inverse cumulative probability can not be computed due to convergence or other numerical errors.
    `java.lang.IllegalArgumentException` - if `p` is not a valid probability.

### getDomainLowerBound

    protected double getDomainLowerBound(double p)

  Access the domain value lower bound, based on `p`, used to bracket a CDF root. This method is used by `inverseCumulativeProbability(double)` to find critical values.

  Specified by:
    `getDomainLowerBound` in class `AbstractContinuousDistribution`
  Parameters:
    `p` - the desired probability for the critical value
  Returns:
    domain value lower bound, i.e. P(X < lower bound) < `p`

### getDomainUpperBound

    protected double getDomainUpperBound(double p)

  Access the domain value upper bound, based on `p`, used to bracket a CDF root. This method is used by `inverseCumulativeProbability(double)` to find critical values.

  Specified by:
    `getDomainUpperBound` in class `AbstractContinuousDistribution`
  Parameters:
    `p` - the desired probability for the critical value
  Returns:
    domain value upper bound, i.e. P(X < upper bound) > `p`

### getInitialDomain

    protected double getInitialDomain(double p)

  Access the initial domain value, based on `p`, used to bracket a CDF root. This method is used by `inverseCumulativeProbability(double)` to find critical values.

  Specified by:
    `getInitialDomain` in class `AbstractContinuousDistribution`
  Parameters:
    `p` - the desired probability for the critical value
  Returns:
    initial domain value

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2003-2011 Apache Software Foundation