|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateFunction>
org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver
org.apache.commons.math3.analysis.solvers.SecantSolver
public class SecantSolver
Implements the Secant method for root-finding (approximating a zero of a univariate real function). The solution that is maintained is not bracketed, and as such convergence is not guaranteed.
Implementation based on the following article: M. Dowell and P. Jarratt, A modified regula falsi method for computing the root of an equation, BIT Numerical Mathematics, volume 11, number 2, pages 168-174, Springer, 1971.
Note that since release 3.0 this class implements the actual
Secant algorithm, and not a modified one. As such, the 3.0 version
is not backwards compatible with previous versions. To use an algorithm
similar to the pre-3.0 releases, use the
Illinois algorithm or the
Pegasus algorithm.
| Field Summary | |
|---|---|
protected static double |
DEFAULT_ABSOLUTE_ACCURACY
Default absolute accuracy. |
| Constructor Summary | |
|---|---|
SecantSolver()
Construct a solver with default accuracy (1e-6). |
|
SecantSolver(double absoluteAccuracy)
Construct a solver. |
|
SecantSolver(double relativeAccuracy,
double absoluteAccuracy)
Construct a solver. |
|
| Method Summary | |
|---|---|
protected double |
doSolve()
Method for implementing actual optimization algorithms in derived classes. |
| 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 |
| Field Detail |
|---|
protected static final double DEFAULT_ABSOLUTE_ACCURACY
| Constructor Detail |
|---|
public SecantSolver()
public SecantSolver(double absoluteAccuracy)
absoluteAccuracy - absolute accuracy
public SecantSolver(double relativeAccuracy,
double absoluteAccuracy)
relativeAccuracy - relative accuracyabsoluteAccuracy - absolute accuracy| Method Detail |
|---|
protected final double doSolve()
throws TooManyEvaluationsException,
NoBracketingException
doSolve in class BaseAbstractUnivariateSolver<UnivariateFunction>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.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||