Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.math.analysis
Class SecantSolver

    java.lang.Object
      org.apache.commons.math.analysis.UnivariateRealSolverImpl
          org.apache.commons.math.analysis.SecantSolver

All Implemented Interfaces:
  Serializable, UnivariateRealSolver

public class SecantSolver
extends UnivariateRealSolverImpl
implements Serializable

Implements a modified version of the secant method for approximating a zero of a real univariate function.

The algorithm is modified to maintain bracketing of a root by successive approximations. Because of forced bracketing, convergence may be slower than the unrestricted secant algorithm. However, this implementation should in general outperform the regula falsi method.

The function is assumed to be continuous but not necessarily smooth.

Version:
  $Revision: 1.17 $ $Date: 2004/07/17 21:19:39 $
See Also:
  Serialized Form

Field Summary
`(package private) static long` | `serialVersionUID` Serializable version identifier

Fields inherited from class org.apache.commons.math.analysis.UnivariateRealSolverImpl
`absoluteAccuracy, defaultAbsoluteAccuracy, defaultFunctionValueAccuracy, defaultMaximalIterationCount, defaultRelativeAccuracy, f, functionValueAccuracy, iterationCount, maximalIterationCount, relativeAccuracy, result, resultComputed`

Constructor Summary
`SecantSolver(UnivariateRealFunction f)` Construct a solver for the given function.

Method Summary
`double` | `solve(double min, double max)` Find a zero in the given interval.
`double` | `solve(double min, double max, double initial)` Find a zero in the given interval.

Methods inherited from class org.apache.commons.math.analysis.UnivariateRealSolverImpl
`clearResult, getAbsoluteAccuracy, getFunctionValueAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, getResult, isBracketing, isSequence, resetAbsoluteAccuracy, resetFunctionValueAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setFunctionValueAccuracy, setMaximalIterationCount, setRelativeAccuracy, setResult, verifyBracketing, verifyInterval, verifySequence`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### serialVersionUID

    static final long serialVersionUID

  Serializable version identifier

  See Also:
    Constant Field Values

Constructor Detail

### SecantSolver

    public SecantSolver(UnivariateRealFunction f)

  Construct a solver for the given function.

Parameters:
  `f` - function to solve.

Method Detail

### solve

    public double solve(double min,
                        double max,
                        double initial)
                 throws ConvergenceException,
                        FunctionEvaluationException

  Find a zero in the given interval.

  Specified by:
    `solve` in interface `UnivariateRealSolver`
  Parameters:
    `min` - the lower bound for the interval
    `max` - the upper bound for the interval
    `initial` - the start value to use (ignored)
  Returns:
    the value where the function is zero
  Throws:
    `ConvergenceException` - if the maximum iteration count is exceeded
    `FunctionEvaluationException` - if an error occurs evaluating the function
    `IllegalArgumentException` - if min is not less than max or the signs of the values of the function at the endpoints are not opposites

### solve

    public double solve(double min,
                        double max)
                 throws ConvergenceException,
                        FunctionEvaluationException

  Find a zero in the given interval.

  Specified by:
    `solve` in interface `UnivariateRealSolver`
  Parameters:
    `min` - the lower bound for the interval.
    `max` - the upper bound for the interval.
  Returns:
    the value where the function is zero
  Throws:
    `ConvergenceException` - if the maximum iteration count is exceeded
    `FunctionEvaluationException` - if an error occurs evaluating the function
    `IllegalArgumentException` - if min is not less than max or the signs of the values of the function at the endpoints are not opposites

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2004 The Apache Software Foundation. All Rights Reserved.