edu.jhu.bme.smile.commons.optimize
Interface OptimizableNDContinuousDifferentiable

All Superinterfaces:
OptimizableNDContinuous
All Known Implementing Classes:
FunctionNegativeXSquaredND, FunctionNumericNDDifferentiation, FunctionRosenbrock, FunctionXSquaredND, FunctionXXplusSinXXND, FunctionXXYYND, MinToMaxNDDifferentiable

public interface OptimizableNDContinuousDifferentiable
extends OptimizableNDContinuous

Interface for Differentiable ND functions. It extends the OptimizableNDContinuous interface.

Author:
Yufeng Guo, Hanlin Wan

Method Summary
 double[][] get2ndDerivative(double[] x)
          Gets the hessian of the function.
 double get2ndDerivative(double[] x, int dim1, int dim2)
          Gets the second derivative of the function in a specific direction
 double[] getDerivative(double[] x)
          Gets the gradient of the function.
 
Methods inherited from interface edu.jhu.bme.smile.commons.optimize.OptimizableNDContinuous
getDomainMax, getDomainMin, getDomainTolerance, getNumberOfDimensions, getValue
 

Method Detail

getDerivative

double[] getDerivative(double[] x)
Gets the gradient of the function.

Parameters:
x - location to calculate derivatives
Returns:
gradient evaluated at x

get2ndDerivative

double[][] get2ndDerivative(double[] x)
Gets the hessian of the function.

Parameters:
x - location to calculate derivatives
Returns:
hessian evaluated at x

get2ndDerivative

double get2ndDerivative(double[] x,
                        int dim1,
                        int dim2)
Gets the second derivative of the function in a specific direction

Parameters:
x - location to calculate derivative
dim1 - dimension to take the first derivative in
dim2 - dimension to take the second derivative in
Returns:
2nd derivative evaluated at x in the specified direction