org.apache.commons.math3.analysis.solvers
Class AbstractDifferentiableUnivariateSolver

java.lang.Object
  extended by org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver<DifferentiableUnivariateFunction>
      extended by org.apache.commons.math3.analysis.solvers.AbstractDifferentiableUnivariateSolver
All Implemented Interfaces:
BaseUnivariateSolver<DifferentiableUnivariateFunction>, DifferentiableUnivariateSolver
Direct Known Subclasses:
NewtonSolver

public abstract class AbstractDifferentiableUnivariateSolver
extends BaseAbstractUnivariateSolver<DifferentiableUnivariateFunction>
implements DifferentiableUnivariateSolver

Provide a default implementation for several functions useful to generic solvers.

Since:
3.0
Version:
$Id$

Field Summary
private  UnivariateFunction functionDerivative
          Derivative of the function to solve.
 
Constructor Summary
protected AbstractDifferentiableUnivariateSolver(double absoluteAccuracy)
          Construct a solver with given absolute accuracy.
protected AbstractDifferentiableUnivariateSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy)
          Construct a solver with given accuracies.
 
Method Summary
protected  double computeDerivativeObjectiveValue(double point)
          Compute the objective function value.
protected  void setup(int maxEval, DifferentiableUnivariateFunction f, double min, double max, double startValue)
          Prepare for computation.
 
Methods inherited from class org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver
computeObjectiveValue, doSolve, getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMax, getMaxEvaluations, getMin, getRelativeAccuracy, getStartValue, incrementEvaluationCount, isBracketing, isSequence, 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
 

Field Detail

functionDerivative

private UnivariateFunction functionDerivative
Derivative of the function to solve.

Constructor Detail

AbstractDifferentiableUnivariateSolver

protected AbstractDifferentiableUnivariateSolver(double absoluteAccuracy)
Construct a solver with given absolute accuracy.

Parameters:
absoluteAccuracy - Maximum absolute error.

AbstractDifferentiableUnivariateSolver

protected AbstractDifferentiableUnivariateSolver(double relativeAccuracy,
                                                 double absoluteAccuracy,
                                                 double functionValueAccuracy)
Construct a solver with given accuracies.

Parameters:
relativeAccuracy - Maximum relative error.
absoluteAccuracy - Maximum absolute error.
functionValueAccuracy - Maximum function value error.
Method Detail

computeDerivativeObjectiveValue

protected double computeDerivativeObjectiveValue(double point)
Compute the objective function value.

Parameters:
point - Point at which the objective function must be evaluated.
Returns:
the objective function value at specified point.
Throws:
TooManyEvaluationsException - if the maximal number of evaluations is exceeded.

setup

protected void setup(int maxEval,
                     DifferentiableUnivariateFunction f,
                     double min,
                     double max,
                     double startValue)
Prepare for computation. Subclasses must call this method if they override any of the solve methods.

Overrides:
setup in class BaseAbstractUnivariateSolver<DifferentiableUnivariateFunction>
Parameters:
maxEval - Maximum number of evaluations.
f - Function to solve.
min - Lower bound for the interval.
max - Upper bound for the interval.
startValue - Start value to use.


Copyright (c) 2003-2013 Apache Software Foundation