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

# Class NewtonRaphsonSolver

java.lang.Object
org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateDifferentiableFunction>
org.apache.commons.math3.analysis.solvers.AbstractUnivariateDifferentiableSolver
org.apache.commons.math3.analysis.solvers.NewtonRaphsonSolver

All Implemented Interfaces:
  `BaseUnivariateSolver<UnivariateDifferentiableFunction>`, `UnivariateDifferentiableSolver`

public class NewtonRaphsonSolver extends AbstractUnivariateDifferentiableSolver
Implements Newton's Method for finding zeros of real univariate differentiable functions.

Since:
  3.1

## Constructor Summary

Constructors
Constructor
Description
`NewtonRaphsonSolver()`
Construct a solver.
`NewtonRaphsonSolver(double absoluteAccuracy)`
Construct a solver.

## Method Summary

Modifier and Type
Method
Description
`protected double`
`doSolve()`
Method for implementing actual optimization algorithms in derived classes.
`double`
`solve(int maxEval, UnivariateDifferentiableFunction f, double min, double max)`
Find a zero near the midpoint of `min` and `max`.

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

`computeObjectiveValueAndDerivative, setup`

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

`computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMax, getMaxEvaluations, getMin, getRelativeAccuracy, getStartValue, incrementEvaluationCount, isBracketing, isSequence, 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 Details

### NewtonRaphsonSolver

public NewtonRaphsonSolver()
Construct a solver.

### NewtonRaphsonSolver

public NewtonRaphsonSolver(double absoluteAccuracy)
Construct a solver.

Parameters:
  `absoluteAccuracy` - Absolute accuracy.

## Method Details

### solve

public double solve(int maxEval, UnivariateDifferentiableFunction f, double min, double max) throws TooManyEvaluationsException
Find a zero near the midpoint of `min` and `max`.

Specified by:
  `solve` in interface `BaseUnivariateSolver<UnivariateDifferentiableFunction>`
Overrides:
  `solve` in class `BaseAbstractUnivariateSolver<UnivariateDifferentiableFunction>`
Parameters:
  `maxEval` - Maximum number of evaluations.
  `f` - Function to solve.
  `min` - Lower bound for the interval.
  `max` - Upper bound for the interval.
Returns:
  the value where the function is zero.
Throws:
  `TooManyEvaluationsException` - if the maximum evaluation count is exceeded.
  `NumberIsTooLargeException` - if `min >= max`.

### doSolve

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

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