Package org.hipparchus.analysis.solvers
Class AbstractUnivariateDifferentiableSolver
- java.lang.Object
-
- org.hipparchus.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateDifferentiableFunction>
-
- org.hipparchus.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.
-
-
Constructor Summary
Constructors Modifier Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.hipparchus.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.hipparchus.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) throws MathIllegalStateException
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:
MathIllegalStateException
- 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 thesolve
methods.- Overrides:
setup
in classBaseAbstractUnivariateSolver<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.
-
-