org.apache.commons.math.analysis.solvers

## Class UnivariateRealSolverFactory

- java.lang.Object
- - org.apache.commons.math.analysis.solvers.UnivariateRealSolverFactory

Direct Known Subclasses:
  UnivariateRealSolverFactoryImpl

    public abstract class UnivariateRealSolverFactory
    extends Object

Abstract factory class used to create `UnivariateRealSolver` instances.

Solvers implementing the following algorithms are supported:

- Bisection
- Brent's method
- Secant method

Concrete factories extending this class also specify a default solver, instances of which are returned by `newDefaultSolver()`.

Common usage:

     SolverFactory factory = UnivariateRealSolverFactory.newInstance();

     // create a Brent solver to use
     BrentSolver solver = factory.newBrentSolver();

Version:
  $Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $

### Constructor Summary

Constructors
`protected` `UnivariateRealSolverFactory()` Default constructor.

### Method Summary

Methods
`abstract UnivariateRealSolver` `newBisectionSolver()` Create a new `UnivariateRealSolver`.
`abstract UnivariateRealSolver` `newBrentSolver()` Create a new `UnivariateRealSolver`.
`abstract UnivariateRealSolver` `newDefaultSolver()` Create a new `UnivariateRealSolver`.
`static UnivariateRealSolverFactory` `newInstance()` Create a new factory.
`abstract UnivariateRealSolver` `newNewtonSolver()` Create a new `UnivariateRealSolver`.
`abstract UnivariateRealSolver` `newSecantSolver()` Create a new `UnivariateRealSolver`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### UnivariateRealSolverFactory

    protected UnivariateRealSolverFactory()

Default constructor.

### Method Detail

#### newInstance

    public static UnivariateRealSolverFactory newInstance()

Create a new factory.

Returns:
  a new factory.

#### newDefaultSolver

    public abstract UnivariateRealSolver newDefaultSolver()

Create a new `UnivariateRealSolver`. The actual solver returned is determined by the underlying factory.

Returns:
  the new solver.

#### newBisectionSolver

    public abstract UnivariateRealSolver newBisectionSolver()

Create a new `UnivariateRealSolver`. The solver is an implementation of the bisection method.

Returns:
  the new solver.

#### newBrentSolver

    public abstract UnivariateRealSolver newBrentSolver()

Create a new `UnivariateRealSolver`. The solver is an implementation of the Brent method.

Returns:
  the new solver.

#### newNewtonSolver

    public abstract UnivariateRealSolver newNewtonSolver()

Create a new `UnivariateRealSolver`. The solver is an implementation of Newton's Method.

Returns:
  the new solver.

#### newSecantSolver

    public abstract UnivariateRealSolver newSecantSolver()

Create a new `UnivariateRealSolver`. The solver is an implementation of the secant method.

Returns:
  the new solver.