org.apache.commons.math3.dfp
Class BracketingNthOrderBrentSolverDFP

java.lang.Object
  extended by org.apache.commons.math3.dfp.BracketingNthOrderBrentSolverDFP

public class BracketingNthOrderBrentSolverDFP
extends Object

This class implements a modification of the Brent algorithm.

The changes with respect to the original Brent algorithm are:

The given interval must bracket the root.

Version:
$Id: BracketingNthOrderBrentSolverDFP.java 1416643 2012-12-03 19:37:14Z tn $

Constructor Summary
BracketingNthOrderBrentSolverDFP(Dfp relativeAccuracy, Dfp absoluteAccuracy, Dfp functionValueAccuracy, int maximalOrder)
          Construct a solver.
 
Method Summary
 Dfp getAbsoluteAccuracy()
          Get the absolute accuracy.
 int getEvaluations()
          Get the number of evaluations of the objective function.
 Dfp getFunctionValueAccuracy()
          Get the function accuracy.
 int getMaxEvaluations()
          Get the maximal number of function evaluations.
 int getMaximalOrder()
          Get the maximal order.
 Dfp getRelativeAccuracy()
          Get the relative accuracy.
 Dfp solve(int maxEval, UnivariateDfpFunction f, Dfp min, Dfp max, AllowedSolution allowedSolution)
          Solve for a zero in the given interval.
 Dfp solve(int maxEval, UnivariateDfpFunction f, Dfp min, Dfp max, Dfp startValue, AllowedSolution allowedSolution)
          Solve for a zero in the given interval, start at startValue.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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


Copyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.