org.apache.commons.math.analysis.solvers
Class BrentSolver

java.lang.Object
  extended by org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateRealSolver<UnivariateRealFunction>
      extended by org.apache.commons.math.analysis.solvers.AbstractUnivariateRealSolver
          extended by org.apache.commons.math.analysis.solvers.BrentSolver
All Implemented Interfaces:
BaseUnivariateRealSolver<UnivariateRealFunction>, UnivariateRealSolver

public class BrentSolver
extends AbstractUnivariateRealSolver

This class implements the Brent algorithm for finding zeros of real univariate functions. The function should be continuous but not necessarily smooth. The solve method returns a zero x of the function f in the given interval [a, b] to within a tolerance 6 eps abs(x) + t where eps is the relative accuracy and t is the absolute accuracy. The given interval must bracket the root.

Version:
$Id: BrentSolver.java 1181282 2011-10-10 22:35:54Z erans $

Constructor Summary
BrentSolver()
          Construct a solver with default accuracy (1e-6).
BrentSolver(double absoluteAccuracy)
          Construct a solver.
BrentSolver(double relativeAccuracy, double absoluteAccuracy)
          Construct a solver.
BrentSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy)
          Construct a solver.
 
Method Summary
protected  double doSolve()
          Method for implementing actual optimization algorithms in derived classes.
 
Methods inherited from class org.apache.commons.math.analysis.solvers.BaseAbstractUnivariateRealSolver
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.math.analysis.solvers.BaseUnivariateRealSolver
getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMaxEvaluations, getRelativeAccuracy, solve, solve, solve
 

Constructor Detail

BrentSolver

public BrentSolver()
Construct a solver with default accuracy (1e-6).


BrentSolver

public BrentSolver(double absoluteAccuracy)
Construct a solver.

Parameters:
absoluteAccuracy - Absolute accuracy.

BrentSolver

public BrentSolver(double relativeAccuracy,
                   double absoluteAccuracy)
Construct a solver.

Parameters:
relativeAccuracy - Relative accuracy.
absoluteAccuracy - Absolute accuracy.

BrentSolver

public BrentSolver(double relativeAccuracy,
                   double absoluteAccuracy,
                   double functionValueAccuracy)
Construct a solver.

Parameters:
relativeAccuracy - Relative accuracy.
absoluteAccuracy - Absolute accuracy.
functionValueAccuracy - Function value accuracy.
Method Detail

doSolve

protected double doSolve()
Method for implementing actual optimization algorithms in derived classes.

Specified by:
doSolve in class BaseAbstractUnivariateRealSolver<UnivariateRealFunction>
Returns:
the root.


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