org.apache.commons.math3.analysis.function

## Class Gaussian.Parametric

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

All Implemented Interfaces:
  ParametricUnivariateFunction

Enclosing class:
  Gaussian

    public static class Gaussian.Parametric
    extends java.lang.Object
    implements ParametricUnivariateFunction

Parametric function where the input array contains the parameters of the Gaussian, ordered as follows:

- Norm
- Mean
- Standard deviation

### Constructor Summary

Constructors
Constructor and Description
`Gaussian.Parametric()`

### Method Summary

Methods
`double[]` `gradient(double x, double... param)` Computes the value of the gradient at `x`.
`private void` `validateParameters(double[] param)` Validates parameters to ensure they are appropriate for the evaluation of the `value(double,double[])` and `gradient(double,double[])` methods.
`double` `value(double x, double... param)` Computes the value of the Gaussian at `x`.

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

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

### Constructor Detail

#### Gaussian.Parametric

    public Gaussian.Parametric()

### Method Detail

#### value

    public double value(double x,
               double... param)
                 throws NullArgumentException,
                        DimensionMismatchException,
                        NotStrictlyPositiveException

Computes the value of the Gaussian at `x`.

Specified by:
  `value` in interface `ParametricUnivariateFunction`
Parameters:
  `x` - Value for which the function must be computed.
  `param` - Values of norm, mean and standard deviation.
Returns:
  the value of the function.
Throws:
  `NullArgumentException` - if `param` is `null`.
  `DimensionMismatchException` - if the size of `param` is not 3.
  `NotStrictlyPositiveException` - if `param[2]` is negative.

#### gradient

    public double[] gradient(double x,
                    double... param)
                      throws NullArgumentException,
                             DimensionMismatchException,
                             NotStrictlyPositiveException

Computes the value of the gradient at `x`. The components of the gradient vector are the partial derivatives of the function with respect to each of the parameters (norm, mean and standard deviation).

Specified by:
  `gradient` in interface `ParametricUnivariateFunction`
Parameters:
  `x` - Value at which the gradient must be computed.
  `param` - Values of norm, mean and standard deviation.
Returns:
  the gradient vector at `x`.
Throws:
  `NullArgumentException` - if `param` is `null`.
  `DimensionMismatchException` - if the size of `param` is not 3.
  `NotStrictlyPositiveException` - if `param[2]` is negative.

#### validateParameters

    private void validateParameters(double[] param)
                             throws NullArgumentException,
                                    DimensionMismatchException,
                                    NotStrictlyPositiveException

Validates parameters to ensure they are appropriate for the evaluation of the `value(double,double[])` and `gradient(double,double[])` methods.

Parameters:
  `param` - Values of norm, mean and standard deviation.
Throws:
  `NullArgumentException` - if `param` is `null`.
  `DimensionMismatchException` - if the size of `param` is not 3.
  `NotStrictlyPositiveException` - if `param[2]` is negative.