Package pal.math
Class NumericalDerivative
- java.lang.Object
-
- pal.math.NumericalDerivative
-
public class NumericalDerivative extends java.lang.Object
approximates numerically the first and second derivatives of a function of a single variable and approximates gradient and diagonal of Hessian for multivariate functions- Author:
- Korbinian Strimmer
-
-
Constructor Summary
Constructors Constructor Description NumericalDerivative()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double[]
diagonalHessian(MultivariateFunction f, double[] x)
determine diagonal of Hessianstatic double
firstDerivative(UnivariateFunction f, double x)
determine first derivativestatic double[]
gradient(MultivariateFunction f, double[] x)
determine gradientstatic void
gradient(MultivariateFunction f, double[] x, double[] grad)
determine gradientstatic double
secondDerivative(UnivariateFunction f, double x)
determine second derivative
-
-
-
Method Detail
-
firstDerivative
public static double firstDerivative(UnivariateFunction f, double x)
determine first derivative- Parameters:
f
- univariate functionx
- argument- Returns:
- first derivate at x
-
secondDerivative
public static double secondDerivative(UnivariateFunction f, double x)
determine second derivative- Parameters:
f
- univariate functionx
- argument- Returns:
- second derivate at x
-
gradient
public static double[] gradient(MultivariateFunction f, double[] x)
determine gradient- Parameters:
f
- multivariate functionx
- argument vector- Returns:
- gradient at x
-
gradient
public static void gradient(MultivariateFunction f, double[] x, double[] grad)
determine gradient- Parameters:
f
- multivariate functionx
- argument vectorgrad
- vector for gradient
-
diagonalHessian
public static double[] diagonalHessian(MultivariateFunction f, double[] x)
determine diagonal of Hessian- Parameters:
f
- multivariate functionx
- argument vector- Returns:
- vector with diagonal entries of Hessian
-
-