Class PegasusSolver
- All Implemented Interfaces:
BaseUnivariateSolver<UnivariateFunction>
,BracketedUnivariateSolver<UnivariateFunction>
,UnivariateSolver
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.hipparchus.analysis.solvers.BaseSecantSolver
BaseSecantSolver.Method
Nested classes/interfaces inherited from interface org.hipparchus.analysis.solvers.BracketedUnivariateSolver
BracketedUnivariateSolver.Interval
-
Field Summary
Fields inherited from class org.hipparchus.analysis.solvers.BaseSecantSolver
DEFAULT_ABSOLUTE_ACCURACY
-
Constructor Summary
ConstructorDescriptionConstruct 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. -
Method Summary
Methods inherited from class org.hipparchus.analysis.solvers.BaseSecantSolver
doSolve, doSolveInterval, solve, solve, solve, solveInterval
Methods inherited from class org.hipparchus.analysis.solvers.BaseAbstractUnivariateSolver
computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMax, getMin, getRelativeAccuracy, getStartValue, incrementEvaluationCount, isBracketing, isSequence, setup, 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.hipparchus.analysis.solvers.BaseUnivariateSolver
getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getRelativeAccuracy, solve, solve
Methods inherited from interface org.hipparchus.analysis.solvers.BracketedUnivariateSolver
solveInterval
-
Constructor Details
-
PegasusSolver
public PegasusSolver()Construct a solver with default accuracy (1e-6). -
PegasusSolver
public PegasusSolver(double absoluteAccuracy) Construct a solver.- Parameters:
absoluteAccuracy
- Absolute accuracy.
-
PegasusSolver
public PegasusSolver(double relativeAccuracy, double absoluteAccuracy) Construct a solver.- Parameters:
relativeAccuracy
- Relative accuracy.absoluteAccuracy
- Absolute accuracy.
-
PegasusSolver
public PegasusSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy) Construct a solver.- Parameters:
relativeAccuracy
- Relative accuracy.absoluteAccuracy
- Absolute accuracy.functionValueAccuracy
- Maximum function value error.
-