Package jebl.math
Class NumericalDerivative
- java.lang.Object
-
- jebl.math.NumericalDerivative
-
public class NumericalDerivative extends java.lang.Objectapproximates 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 doublefirstDerivative(UnivariateFunction f, double x)determine first derivativestatic double[]gradient(MultivariateFunction f, double[] x)determine gradientstatic voidgradient(MultivariateFunction f, double[] x, double[] grad)determine gradientstatic doublesecondDerivative(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
-
-