Package pal.math
Class BoundsCheckedFunction
- java.lang.Object
-
- pal.math.BoundsCheckedFunction
-
- All Implemented Interfaces:
MultivariateFunction
public class BoundsCheckedFunction extends java.lang.Object implements MultivariateFunction
returns a very large number instead of the function value if arguments are out of bound (useful for minimization with minimizers that don't check argument boundaries)- Author:
- Korbinian Strimmer
-
-
Constructor Summary
Constructors Constructor Description BoundsCheckedFunction(MultivariateFunction func)
construct bound-checked multivariate function (a large number will be returned on function evaluation if argument is out of bounds; default is 1000000)BoundsCheckedFunction(MultivariateFunction func, double largeNumber)
construct constrained multivariate function
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
evaluate(double[] x)
computes function value, taking into account the constraints on the argumentdouble
getLowerBound(int n)
get lower bound of argument nint
getNumArguments()
get number of argumentsOrthogonalHints
getOrthogonalHints()
double
getUpperBound(int n)
get upper bound of argument n
-
-
-
Constructor Detail
-
BoundsCheckedFunction
public BoundsCheckedFunction(MultivariateFunction func)
construct bound-checked multivariate function (a large number will be returned on function evaluation if argument is out of bounds; default is 1000000)- Parameters:
func
- unconstrained multivariate functionminArg
- lower constraintmaxArg
- upper constraint
-
BoundsCheckedFunction
public BoundsCheckedFunction(MultivariateFunction func, double largeNumber)
construct constrained multivariate function- Parameters:
func
- unconstrained multivariate functionlargeNumber
- value returned on function evaluation if argument is out of bounds
-
-
Method Detail
-
evaluate
public double evaluate(double[] x)
computes function value, taking into account the constraints on the argument- Specified by:
evaluate
in interfaceMultivariateFunction
- Parameters:
x
- function argument- Returns:
- function value (if argument is not in the predefined constrained area a very large number is returned instead of the true function value)
-
getNumArguments
public int getNumArguments()
Description copied from interface:MultivariateFunction
get number of arguments- Specified by:
getNumArguments
in interfaceMultivariateFunction
- Returns:
- number of arguments
-
getLowerBound
public double getLowerBound(int n)
Description copied from interface:MultivariateFunction
get lower bound of argument n- Specified by:
getLowerBound
in interfaceMultivariateFunction
- Parameters:
n
- argument number- Returns:
- lower bound
-
getUpperBound
public double getUpperBound(int n)
Description copied from interface:MultivariateFunction
get upper bound of argument n- Specified by:
getUpperBound
in interfaceMultivariateFunction
- Parameters:
n
- argument number- Returns:
- upper bound
-
getOrthogonalHints
public OrthogonalHints getOrthogonalHints()
- Specified by:
getOrthogonalHints
in interfaceMultivariateFunction
- Returns:
- null
-
-