Enum AllowedSolution

  • All Implemented Interfaces:
    Serializable, Comparable<AllowedSolution>

    public enum AllowedSolution
    extends Enum<AllowedSolution>
    The kinds of solutions that a (bracketed univariate real) root-finding algorithm may accept as solutions. This basically controls whether or not under-approximations and over-approximations are allowed.

    If all solutions are accepted (ANY_SIDE), then the solution that the root-finding algorithm returns for a given root may be equal to the actual root, but it may also be an approximation that is slightly smaller or slightly larger than the actual root. Root-finding algorithms generally only guarantee that the returned solution is within the requested tolerances. In certain cases however, in particular for state events of ODE solvers, it may be necessary to guarantee that a solution is returned that lies on a specific side the solution.

    Since:
    3.0
    See Also:
    BracketedUnivariateSolver
    • Enum Constant Detail

      • ANY_SIDE

        public static final AllowedSolution ANY_SIDE
        There are no additional side restriction on the solutions for root-finding. That is, both under-approximations and over-approximations are allowed. So, if a function f(x) has a root at x = x0, then the root-finding result s may be smaller than x0, equal to x0, or greater than x0.
      • LEFT_SIDE

        public static final AllowedSolution LEFT_SIDE
        Only solutions that are less than or equal to the actual root are acceptable as solutions for root-finding. In other words, over-approximations are not allowed. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy s <= x0.
      • RIGHT_SIDE

        public static final AllowedSolution RIGHT_SIDE
        Only solutions that are greater than or equal to the actual root are acceptable as solutions for root-finding. In other words, under-approximations are not allowed. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy s >= x0.
      • BELOW_SIDE

        public static final AllowedSolution BELOW_SIDE
        Only solutions for which values are less than or equal to zero are acceptable as solutions for root-finding. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy f(s) <= 0.
      • ABOVE_SIDE

        public static final AllowedSolution ABOVE_SIDE
        Only solutions for which values are greater than or equal to zero are acceptable as solutions for root-finding. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy f(s) >= 0.
    • Method Detail

      • values

        public static AllowedSolution[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (AllowedSolution c : AllowedSolution.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static AllowedSolution valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null