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:
AllowedSolutionThe 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.