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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NumericalDerivative
public NumericalDerivative()
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