Package pal.math

Class 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 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 function
        minArg - lower constraint
        maxArg - upper constraint
      • BoundsCheckedFunction

        public BoundsCheckedFunction​(MultivariateFunction func,
                                     double largeNumber)
        construct constrained multivariate function
        Parameters:
        func - unconstrained multivariate function
        largeNumber - 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 interface MultivariateFunction
        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)