Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.math3.analysis.solvers
Class BracketingNthOrderBrentSolver

    java.lang.Object
      org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateFunction>
          org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver
              org.apache.commons.math3.analysis.solvers.BracketingNthOrderBrentSolver

All Implemented Interfaces:
  BaseUnivariateSolver<UnivariateFunction>, BracketedUnivariateSolver<UnivariateFunction>, UnivariateSolver

    public class BracketingNthOrderBrentSolver

extends AbstractUnivariateSolver
implements BracketedUnivariateSolver<UnivariateFunction>

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.

Version:
  $Id: BracketingNthOrderBrentSolver.java 1379560 2012-08-31 19:40:30Z erans $

Constructor Summary
`BracketingNthOrderBrentSolver()` Construct a solver with default accuracy and maximal order (1e-6 and 5 respectively)
`BracketingNthOrderBrentSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy, int maximalOrder)` Construct a solver.
`BracketingNthOrderBrentSolver(double relativeAccuracy, double absoluteAccuracy, int maximalOrder)` Construct a solver.
`BracketingNthOrderBrentSolver(double absoluteAccuracy, int maximalOrder)` Construct a solver.

Method Summary
`protected double` | `doSolve()` Method for implementing actual optimization algorithms in derived classes.
`int` | `getMaximalOrder()` Get the maximal order.
`double` | `solve(int maxEval, UnivariateFunction f, double min, double max, AllowedSolution allowedSolution)` Solve for a zero in the given interval.
`double` | `solve(int maxEval, UnivariateFunction f, double min, double max, double startValue, AllowedSolution allowedSolution)` Solve for a zero in the given interval, start at `startValue`.

Methods inherited from class org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver
`computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMax, getMaxEvaluations, getMin, getRelativeAccuracy, getStartValue, incrementEvaluationCount, isBracketing, isSequence, setup, solve, solve, solve, verifyBracketing, verifyInterval, verifySequence`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.commons.math3.analysis.solvers.BaseUnivariateSolver
`getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMaxEvaluations, getRelativeAccuracy, solve, solve, solve`

Constructor Detail

### BracketingNthOrderBrentSolver

    public BracketingNthOrderBrentSolver()

  Construct a solver with default accuracy and maximal order (1e-6 and 5 respectively)

### BracketingNthOrderBrentSolver

    public BracketingNthOrderBrentSolver(double absoluteAccuracy,
                                         int maximalOrder)
                                  throws NumberIsTooSmallException

  Construct a solver.

  Parameters:
    `absoluteAccuracy` - Absolute accuracy.
    `maximalOrder` - maximal order.
  Throws:
    `NumberIsTooSmallException` - if maximal order is lower than 2

### BracketingNthOrderBrentSolver

    public BracketingNthOrderBrentSolver(double relativeAccuracy,
                                         double absoluteAccuracy,
                                         int maximalOrder)
                                  throws NumberIsTooSmallException

  Construct a solver.

  Parameters:
    `relativeAccuracy` - Relative accuracy.
    `absoluteAccuracy` - Absolute accuracy.
    `maximalOrder` - maximal order.
  Throws:
    `NumberIsTooSmallException` - if maximal order is lower than 2

### BracketingNthOrderBrentSolver

    public BracketingNthOrderBrentSolver(double relativeAccuracy,
                                         double absoluteAccuracy,
                                         double 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

### doSolve

    protected double doSolve()
                      throws TooManyEvaluationsException,
                             NumberIsTooLargeException,
                             NoBracketingException

  Method for implementing actual optimization algorithms in derived classes.

  Specified by:
    `doSolve` in class `BaseAbstractUnivariateSolver<UnivariateFunction>`
  Returns:
    the root.
  Throws:
    `TooManyEvaluationsException` - if the maximal number of evaluations is exceeded.
    `NoBracketingException` - if the initial search interval does not bracket a root and the solver requires it.
    `NumberIsTooLargeException`

### solve

    public double solve(int maxEval,
                        UnivariateFunction f,
                        double min,
                        double max,
                        AllowedSolution allowedSolution)
                 throws TooManyEvaluationsException,
                        NumberIsTooLargeException,
                        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.

  Specified by:
    `solve` in interface `BracketedUnivariateSolver<UnivariateFunction>`
  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:
    `TooManyEvaluationsException` - if the allowed number of evaluations is exceeded.
    `NumberIsTooLargeException`
    `NoBracketingException`

### solve

    public double solve(int maxEval,
                        UnivariateFunction f,
                        double min,
                        double max,
                        double startValue,
                        AllowedSolution allowedSolution)
                 throws TooManyEvaluationsException,
                        NumberIsTooLargeException,
                        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.

  Specified by:
    `solve` in interface `BracketedUnivariateSolver<UnivariateFunction>`
  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:
    `TooManyEvaluationsException` - if the allowed number of evaluations is exceeded.
    `NumberIsTooLargeException`
    `NoBracketingException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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