org.apache.commons.math.distribution

## Class NormalDistributionImpl

• ### Field Summary

Fields
Modifier and Type Field and Description
`static double` `DEFAULT_INVERSE_ABSOLUTE_ACCURACY`
Default inverse cumulative probability accuracy
• ### Constructor Summary

Constructors
Constructor and Description
`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

All Methods
Modifier and Type Method and Description
`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.
`double` `getMean()`
Access the mean.
`double` `getNumericalVariance()`
Returns the variance.
`double` `getStandardDeviation()`
Access the standard deviation.
`double` `getSupportLowerBound()`
Returns the lower bound of the support for the distribution.
`double` `getSupportUpperBound()`
Returns the upper bound of the support for the distribution.
`double` `inverseCumulativeProbability(double p)`
For this distribution, X, this method returns the critical point x, such that P(X < x) = `p`.
`double` `sample()`
Generates a random value sampled from this distribution.
`void` `setMean(double mean)`
Deprecated.
as of 2.1 (class will become immutable in 3.0)
`void` `setStandardDeviation(double sd)`
Deprecated.
as of 2.1 (class will become immutable in 3.0)
• ### Methods inherited from class org.apache.commons.math.distribution.AbstractContinuousDistribution

`reseedRandomGenerator, sample`
• ### Methods inherited from class org.apache.commons.math.distribution.AbstractDistribution

`cumulativeProbability`
• ### Methods inherited from class java.lang.Object

`equals, 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
Constant Field Values
• ### 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
• #### 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.
• #### density

```@Deprecated
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`). If `x`is more than 40 standard deviations from the mean, 0 or 1 is returned, as in these cases the actual value is within `Double.MIN_VALUE` of 0 or 1.
Specified by:
`cumulativeProbability` in interface `Distribution`
Parameters:
`x` - the value at which the CDF is evaluated.
Returns:
CDF evaluated at `x`.
Throws:
`MathException` - if the algorithm fails to converge
• #### 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.
• #### sample

```public double sample()
throws MathException```
Generates a random value sampled from this distribution.
Overrides:
`sample` in class `AbstractContinuousDistribution`
Returns:
random value
Throws:
`MathException` - if an error occurs generating the random value
Since:
2.2
• #### getSupportLowerBound

`public double getSupportLowerBound()`
Returns the lower bound of the support for the distribution. The lower bound of the support is always negative infinity no matter the parameters.
Returns:
lower bound of the support (always Double.NEGATIVE_INFINITY)
Since:
2.2
• #### getSupportUpperBound

`public double getSupportUpperBound()`
Returns the upper bound of the support for the distribution. The upper bound of the support is always positive infinity no matter the parameters.
Returns:
upper bound of the support (always Double.POSITIVE_INFINITY)
Since:
2.2
• #### getNumericalVariance

`public double getNumericalVariance()`
Returns the variance. For standard deviation parameter `s`, the variance is `s^2`
Returns:
the variance
Since:
2.2