Package org.apache.commons.math3.analysis.solvers

# Class BisectionSolver

java.lang.Object
org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateFunction>
org.apache.commons.math3.analysis.solvers.AbstractUnivariateSolver
org.apache.commons.math3.analysis.solvers.BisectionSolver

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

public class BisectionSolver extends AbstractUnivariateSolver
Implements the bisection algorithm for finding zeros of univariate real functions.

The function should be continuous but not necessarily smooth.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`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`

## Constructor Details

### BisectionSolver

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

### BisectionSolver

public BisectionSolver(double absoluteAccuracy)
Construct a solver.

Parameters:
  `absoluteAccuracy` - Absolute accuracy.

### BisectionSolver

public BisectionSolver(double relativeAccuracy, double absoluteAccuracy)
Construct a solver.

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

## Method Details

### doSolve

protected double doSolve() throws TooManyEvaluationsException
Method for implementing actual optimization algorithms in derived classes.

Specified by:
  `doSolve` in class `BaseAbstractUnivariateSolver<UnivariateFunction>`
Returns:
  the root.
Throws:
  `TooManyEvaluationsException` - if the maximal number of evaluations is exceeded.