public class PegasusSolver extends BaseSecantSolver
Regula Falsi
method.
Like the Regula Falsi method, convergence is guaranteed by maintaining a bracketed solution. The
Pegasus method however, should converge much faster than the original Regula Falsi method.
Furthermore, this implementation of the Pegasus method should not suffer from the same implementation issues
as the Regula
Falsi method, which may fail to convergence in certain cases. Also, the Pegasus method should converge
faster than the Illinois
method, another Regula
Falsi-based method.
The Pegasus method assumes that the function is continuous, but not necessarily smooth.
Implementation based on the following article: M. Dowell and P. Jarratt, The "Pegasus" method for computing the root of an equation, BIT Numerical Mathematics, volume 12, number 4, pages 503-508, Springer, 1972.
BaseSecantSolver.Method
DEFAULT_ABSOLUTE_ACCURACY
Constructor and Description |
---|
PegasusSolver()
Construct a solver with default accuracy (1e-6).
|
PegasusSolver(double absoluteAccuracy)
Construct a solver.
|
PegasusSolver(double relativeAccuracy,
double absoluteAccuracy)
Construct a solver.
|
PegasusSolver(double relativeAccuracy,
double absoluteAccuracy,
double functionValueAccuracy)
Construct a solver.
|
doSolve, solve, solve, solve
computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMax, getMaxEvaluations, getMin, getRelativeAccuracy, getStartValue, incrementEvaluationCount, isBracketing, isSequence, setup, solve, solve, verifyBracketing, verifyInterval, verifySequence
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMaxEvaluations, getRelativeAccuracy, solve, solve
public PegasusSolver()
public PegasusSolver(double absoluteAccuracy)
absoluteAccuracy
- Absolute accuracy.public PegasusSolver(double relativeAccuracy, double absoluteAccuracy)
relativeAccuracy
- Relative accuracy.absoluteAccuracy
- Absolute accuracy.public PegasusSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy)
relativeAccuracy
- Relative accuracy.absoluteAccuracy
- Absolute accuracy.functionValueAccuracy
- Maximum function value error.Copyright © 2019 CNES. All rights reserved.