org.apache.commons.math3.analysis.solvers

## Class IllinoisSolver

- java.lang.Object
- - org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateFunction>
  - - org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver
    - - org.apache.commons.math3.analysis.solvers.BaseSecantSolver
      - - org.apache.commons.math3.analysis.solvers.IllinoisSolver

All Implemented Interfaces:
  BaseUnivariateSolver<UnivariateFunction>, BracketedUnivariateSolver<UnivariateFunction>, UnivariateSolver

    public class IllinoisSolver
    extends BaseSecantSolver

Implements the Illinois method for root-finding (approximating a zero of a univariate real function). It is a modified `Regula Falsi` method.

Like the Regula Falsi method, convergence is guaranteed by maintaining a bracketed solution. The Illinois method however, should converge much faster than the original Regula Falsi method. Furthermore, this implementation of the Illinois method should not suffer from the same implementation issues as the Regula Falsi method, which may fail to convergence in certain cases.

The Illinois method assumes that the function is continuous, but not necessarily smooth.

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.

Since:
  3.0
Version:
  $Id: IllinoisSolver.java 1364387 2012-07-22 18:14:11Z tn $

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.commons.math3.analysis.solvers.BaseSecantSolver

`BaseSecantSolver.Method`

### Field Summary

### Fields inherited from class org.apache.commons.math3.analysis.solvers.BaseSecantSolver

`DEFAULT_ABSOLUTE_ACCURACY`

### Constructor Summary

Constructors
Constructor and Description
`IllinoisSolver()` Construct a solver with default accuracy (1e-6).
`IllinoisSolver(double absoluteAccuracy)` Construct a solver.
`IllinoisSolver(double relativeAccuracy, double absoluteAccuracy)` Construct a solver.
`IllinoisSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy)` Construct a solver.

### Method Summary

### Methods inherited from class org.apache.commons.math3.analysis.solvers.BaseSecantSolver

`doSolve, solve, solve, solve`

### 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, 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`

### Constructor Detail

#### IllinoisSolver

    public IllinoisSolver()

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

#### IllinoisSolver

    public IllinoisSolver(double absoluteAccuracy)

Construct a solver.

Parameters:
  `absoluteAccuracy` - Absolute accuracy.

#### IllinoisSolver

    public IllinoisSolver(double relativeAccuracy,
                  double absoluteAccuracy)

Construct a solver.

Parameters:
  `relativeAccuracy` - Relative accuracy.
  `absoluteAccuracy` - Absolute accuracy.

#### IllinoisSolver

    public IllinoisSolver(double relativeAccuracy,
                  double absoluteAccuracy,
                  double functionValueAccuracy)

Construct a solver.

Parameters:
  `relativeAccuracy` - Relative accuracy.
  `absoluteAccuracy` - Absolute accuracy.
  `functionValueAccuracy` - Maximum function value error.