Class SecantSolver

All Implemented Interfaces:
BaseUnivariateSolver<UnivariateFunction>, UnivariateSolver

public class SecantSolver extends AbstractUnivariateSolver
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 Details

    • DEFAULT_ABSOLUTE_ACCURACY

      protected static final double DEFAULT_ABSOLUTE_ACCURACY
      Default absolute accuracy.
      See Also:
  • Constructor Details

    • SecantSolver

      public SecantSolver()
      Construct a solver with default accuracy (1e-6).
    • SecantSolver

      public SecantSolver(double absoluteAccuracy)
      Construct a solver.
      Parameters:
      absoluteAccuracy - absolute accuracy
    • SecantSolver

      public SecantSolver(double relativeAccuracy, double absoluteAccuracy)
      Construct a solver.
      Parameters:
      relativeAccuracy - relative accuracy
      absoluteAccuracy - absolute accuracy
  • Method Details