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

java.lang.Object
  extended by org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateDifferentiableFunction>
      extended by org.apache.commons.math3.analysis.solvers.AbstractUnivariateDifferentiableSolver
All Implemented Interfaces:
BaseUnivariateSolver<UnivariateDifferentiableFunction>, UnivariateDifferentiableSolver
Direct Known Subclasses:
NewtonRaphsonSolver

public abstract class AbstractUnivariateDifferentiableSolver
extends BaseAbstractUnivariateSolver<UnivariateDifferentiableFunction>
implements UnivariateDifferentiableSolver

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

Since:
3.1
Version:
$Id: AbstractUnivariateDifferentiableSolver.java 1383441 2012-09-11 14:56:39Z luc $

Constructor Summary
protected AbstractUnivariateDifferentiableSolver(double absoluteAccuracy)
          Construct a solver with given absolute accuracy.
protected AbstractUnivariateDifferentiableSolver(double relativeAccuracy, double absoluteAccuracy, double functionValueAccuracy)
          Construct a solver with given accuracies.
 
Method Summary
protected  DerivativeStructure computeObjectiveValueAndDerivative(double point)
          Compute the objective function value.
protected  void setup(int maxEval, UnivariateDifferentiableFunction 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
 

Constructor Detail

AbstractUnivariateDifferentiableSolver

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

Parameters:
absoluteAccuracy - Maximum absolute error.

AbstractUnivariateDifferentiableSolver

protected AbstractUnivariateDifferentiableSolver(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

computeObjectiveValueAndDerivative

protected DerivativeStructure computeObjectiveValueAndDerivative(double point)
Compute the objective function value.

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

setup

protected void setup(int maxEval,
                     UnivariateDifferentiableFunction 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<UnivariateDifferentiableFunction>
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 © 2003-2012 The Apache Software Foundation. All Rights Reserved.