org.apache.commons.math3.analysis.function

## Class Gaussian

- java.lang.Object
- - org.apache.commons.math3.analysis.function.Gaussian

All Implemented Interfaces:
  DifferentiableUnivariateFunction, UnivariateDifferentiableFunction, UnivariateFunction

    public class Gaussian
    extends java.lang.Object
    implements UnivariateDifferentiableFunction, DifferentiableUnivariateFunction

Gaussian function.

Since:
  3.0
Version:
  $Id: Gaussian.java 1383441 2012-09-11 14:56:39Z luc $

### Nested Class Summary

Nested Classes
`static class` `Gaussian.Parametric` Parametric function where the input array contains the parameters of the Gaussian, ordered as follows: Norm Mean Standard deviation

### Field Summary

Fields
`private double` `i2s2` Inverse of twice the square of the standard deviation.
`private double` `is` Inverse of the standard deviation.
`private double` `mean` Mean.
`private double` `norm` Normalization factor.

### Constructor Summary

Constructors
Constructor and Description
`Gaussian()` Normalized gaussian with zero mean and unit standard deviation.
`Gaussian(double mean, double sigma)` Normalized gaussian with given mean and standard deviation.
`Gaussian(double norm, double mean, double sigma)` Gaussian with given normalization factor, mean and standard deviation.

### Method Summary

Methods
`UnivariateFunction` `derivative()` Deprecated. as of 3.1, replaced by `value(DerivativeStructure)`
`DerivativeStructure` `value(DerivativeStructure t)` Simple mathematical function.
`double` `value(double x)` Compute the value of the function.
`private static double` `value(double xMinusMean, double norm, double i2s2)`

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

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

### Field Detail

#### mean

    private final double mean

Mean.

#### is

    private final double is

Inverse of the standard deviation.

#### i2s2

    private final double i2s2

Inverse of twice the square of the standard deviation.

#### norm

    private final double norm

Normalization factor.

### Constructor Detail

#### Gaussian

    public Gaussian(double norm,
            double mean,
            double sigma)
             throws NotStrictlyPositiveException

Gaussian with given normalization factor, mean and standard deviation.

Parameters:
  `norm` - Normalization factor.
  `mean` - Mean.
  `sigma` - Standard deviation.
Throws:
  `NotStrictlyPositiveException` - if `sigma <= 0`.

#### Gaussian

    public Gaussian(double mean,
            double sigma)
             throws NotStrictlyPositiveException

Normalized gaussian with given mean and standard deviation.

Parameters:
  `mean` - Mean.
  `sigma` - Standard deviation.
Throws:
  `NotStrictlyPositiveException` - if `sigma <= 0`.

#### Gaussian

    public Gaussian()

Normalized gaussian with zero mean and unit standard deviation.

### Method Detail

#### value

    public double value(double x)

Compute the value of the function.

Specified by:
  `value` in interface `UnivariateFunction`
Parameters:
  `x` - Point at which the function value should be computed.
Returns:
  the value of the function.

#### derivative

    @Deprecated
    public UnivariateFunction derivative()

Deprecated. as of 3.1, replaced by `value(DerivativeStructure)`
Returns the derivative of the function

Specified by:
  `derivative` in interface `DifferentiableUnivariateFunction`
Returns:
  the derivative function

#### value

    private static double value(double xMinusMean,
               double norm,
               double i2s2)

Parameters:
  `xMinusMean` - `x - mean`.
  `norm` - Normalization factor.
  `i2s2` - Inverse of twice the square of the standard deviation.
Returns:
  the value of the Gaussian at `x`.

#### value

    public DerivativeStructure value(DerivativeStructure t)

Simple mathematical function.

`UnivariateDifferentiableFunction` classes compute both the value and the first derivative of the function.

Specified by:
  `value` in interface `UnivariateDifferentiableFunction`
Parameters:
  `t` - function input value
Returns:
  function result
Since:
  3.1