BracketingNthOrderBrentSolverDFP
org.apache.commons.math3.dfp

Class BracketingNthOrderBrentSolverDFP



  • public class BracketingNthOrderBrentSolverDFPextends Object
    This class implements a modification of the Brent algorithm.

    The changes with respect to the original Brent algorithm are:

    • the returned value is chosen in the current interval according to user specified AllowedSolution,
    • the maximal order for the invert polynomial root search is user-specified instead of being invert quadratic only

    The given interval must bracket the root.
    • Constructor Detail

      • BracketingNthOrderBrentSolverDFP

        public BracketingNthOrderBrentSolverDFP(Dfp relativeAccuracy,                                Dfp absoluteAccuracy,                                Dfp functionValueAccuracy,                                int maximalOrder)                                 throws NumberIsTooSmallException
        Construct a solver.
        Parameters:
        relativeAccuracy - Relative accuracy.
        absoluteAccuracy - Absolute accuracy.
        functionValueAccuracy - Function value accuracy.
        maximalOrder - maximal order.
        Throws:
        NumberIsTooSmallException - if maximal order is lower than 2
    • Method Detail

      • getMaximalOrder

        public int getMaximalOrder()
        Get the maximal order.
        Returns:
        maximal order
      • getMaxEvaluations

        public int getMaxEvaluations()
        Get the maximal number of function evaluations.
        Returns:
        the maximal number of function evaluations.
      • getEvaluations

        public int getEvaluations()
        Get the number of evaluations of the objective function. The number of evaluations corresponds to the last call to the optimize method. It is 0 if the method has not been called yet.
        Returns:
        the number of evaluations of the objective function.
      • getAbsoluteAccuracy

        public Dfp getAbsoluteAccuracy()
        Get the absolute accuracy.
        Returns:
        absolute accuracy
      • getRelativeAccuracy

        public Dfp getRelativeAccuracy()
        Get the relative accuracy.
        Returns:
        relative accuracy
      • getFunctionValueAccuracy

        public Dfp getFunctionValueAccuracy()
        Get the function accuracy.
        Returns:
        function accuracy
      • solve

        public Dfp solve(int maxEval,        UnivariateDfpFunction f,        Dfp min,        Dfp max,        AllowedSolution allowedSolution)          throws NullArgumentException,                 NoBracketingException
        Solve for a zero in the given interval. A solver may require that the interval brackets a single zero root. Solvers that do require bracketing should be able to handle the case where one of the endpoints is itself a root.
        Parameters:
        maxEval - Maximum number of evaluations.
        f - Function to solve.
        min - Lower bound for the interval.
        max - Upper bound for the interval.
        allowedSolution - The kind of solutions that the root-finding algorithm may accept as solutions.
        Returns:
        a value where the function is zero.
        Throws:
        NullArgumentException - if f is null.
        NoBracketingException - if root cannot be bracketed
      • solve

        public Dfp solve(int maxEval,        UnivariateDfpFunction f,        Dfp min,        Dfp max,        Dfp startValue,        AllowedSolution allowedSolution)          throws NullArgumentException,                 NoBracketingException
        Solve for a zero in the given interval, start at startValue. A solver may require that the interval brackets a single zero root. Solvers that do require bracketing should be able to handle the case where one of the endpoints is itself a root.
        Parameters:
        maxEval - Maximum number of evaluations.
        f - Function to solve.
        min - Lower bound for the interval.
        max - Upper bound for the interval.
        startValue - Start value to use.
        allowedSolution - The kind of solutions that the root-finding algorithm may accept as solutions.
        Returns:
        a value where the function is zero.
        Throws:
        NullArgumentException - if f is null.
        NoBracketingException - if root cannot be bracketed

SCaVis 2.2 © jWork.ORG