T
- the type of the field elementspublic class FieldBracketingNthOrderBrentSolver<T extends RealFieldElement<T>> extends Object implements BracketedRealFieldUnivariateSolver<T>
The changes with respect to the original Brent algorithm are:
AllowedSolution
The given interval must bracket the root.
Constructor and Description |
---|
FieldBracketingNthOrderBrentSolver(T relativeAccuracy,
T absoluteAccuracy,
T functionValueAccuracy,
int maximalOrder)
Construct a solver.
|
Modifier and Type | Method and Description |
---|---|
T |
getAbsoluteAccuracy()
Get the absolute accuracy.
|
int |
getEvaluations()
Get the number of evaluations of the objective function.
|
T |
getFunctionValueAccuracy()
Get the function accuracy.
|
int |
getMaxEvaluations()
Get the maximal number of function evaluations.
|
int |
getMaximalOrder()
Get the maximal order.
|
T |
getRelativeAccuracy()
Get the relative accuracy.
|
T |
solve(int maxEval,
RealFieldUnivariateFunction<T> f,
T min,
T max,
AllowedSolution allowedSolution)
Solve for a zero in the given interval.
|
T |
solve(int maxEval,
RealFieldUnivariateFunction<T> f,
T min,
T max,
T startValue,
AllowedSolution allowedSolution)
Solve for a zero in the given interval, start at
startValue . |
public FieldBracketingNthOrderBrentSolver(T relativeAccuracy, T absoluteAccuracy, T functionValueAccuracy, int maximalOrder) throws NumberIsTooSmallException
relativeAccuracy
- Relative accuracy.absoluteAccuracy
- Absolute accuracy.functionValueAccuracy
- Function value accuracy.maximalOrder
- maximal order.NumberIsTooSmallException
- if maximal order is lower than 2public int getMaximalOrder()
public int getMaxEvaluations()
getMaxEvaluations
in interface BracketedRealFieldUnivariateSolver<T extends RealFieldElement<T>>
public int getEvaluations()
optimize
method. It is 0 if the method has not been
called yet.getEvaluations
in interface BracketedRealFieldUnivariateSolver<T extends RealFieldElement<T>>
public T getAbsoluteAccuracy()
getAbsoluteAccuracy
in interface BracketedRealFieldUnivariateSolver<T extends RealFieldElement<T>>
public T getRelativeAccuracy()
getRelativeAccuracy
in interface BracketedRealFieldUnivariateSolver<T extends RealFieldElement<T>>
public T getFunctionValueAccuracy()
getFunctionValueAccuracy
in interface BracketedRealFieldUnivariateSolver<T extends RealFieldElement<T>>
public T solve(int maxEval, RealFieldUnivariateFunction<T> f, T min, T max, AllowedSolution allowedSolution) throws NullArgumentException, NoBracketingException
solve
in interface BracketedRealFieldUnivariateSolver<T extends RealFieldElement<T>>
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.NullArgumentException
- if f is null.NoBracketingException
- if root cannot be bracketedpublic T solve(int maxEval, RealFieldUnivariateFunction<T> f, T min, T max, T startValue, AllowedSolution allowedSolution) throws NullArgumentException, NoBracketingException
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.solve
in interface BracketedRealFieldUnivariateSolver<T extends RealFieldElement<T>>
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.NullArgumentException
- if f is null.NoBracketingException
- if root cannot be bracketedCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.