BaseUnivariateSolver<UnivariateFunction>
, UnivariateSolver
public class BrentSolver extends AbstractUnivariateSolver
solve
method returns a zero x
of the function f
in the given interval [a, b]
to within a tolerance
2 eps abs(x) + t
where eps
is the relative accuracy and
t
is the absolute accuracy.
The given interval must bracket the root.
The reference implementation is given in chapter 4 of
Algorithms for Minimization Without Derivatives, Richard P. Brent, Dover, 2002
BaseAbstractUnivariateSolver
Constructor | Description |
---|---|
BrentSolver() |
Construct a solver with default absolute 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.
|
Modifier and Type | Method | Description |
---|---|---|
protected double |
doSolve() |
Method for implementing actual optimization algorithms in derived
classes.
|
computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMax, getMaxEvaluations, getMin, getRelativeAccuracy, getStartValue, incrementEvaluationCount, isBracketing, isSequence, setup, solve, solve, solve, verifyBracketing, verifyInterval, verifySequence
getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMaxEvaluations, getRelativeAccuracy, solve, solve, solve
public BrentSolver()
public BrentSolver(double absoluteAccuracy)
absoluteAccuracy
- Absolute accuracy.public BrentSolver(double relativeAccuracy, double absoluteAccuracy)
relativeAccuracy
- Relative accuracy.absoluteAccuracy
- Absolute accuracy.public BrentSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy)
relativeAccuracy
- Relative accuracy.absoluteAccuracy
- Absolute accuracy.functionValueAccuracy
- Function value accuracy.BaseAbstractUnivariateSolver(double,double,double)
protected double doSolve() throws MathIllegalArgumentException, MathIllegalStateException
doSolve
in class BaseAbstractUnivariateSolver<UnivariateFunction>
MathIllegalArgumentException
- if the initial search interval does not bracket
a root and the solver requires it.MathIllegalStateException
- if the maximal number of evaluations
is exceeded.Copyright © 2016–2018 Hipparchus.org. All rights reserved.