com.webcab.ejb.math.optimization.unidimensional
Class BrentDerivLocate
java.lang.Object
|
+--com.webcab.ejb.math.optimization.unidimensional.BrentDerivLocate
- All Implemented Interfaces:
- LocateAlgorithm, Serializable
- public class BrentDerivLocate
- extends Object
- implements LocateAlgorithm
A version of Brent's algortihm that uses derivative information.
- See Also:
LocateAlgorithm,
LinearLocate,
BrentLocate,
ParabolicIterativeLocate,
CubicDerivLocate,
ParabolicLocate,
Serialized Form
|
Method Summary |
double |
locate(Bracket br,
UniDimensionalFunction f,
double tol,
int maxiter)
Shrinks the bracketing interval until a satisfactory approximation for the extremum it contains can be found. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BrentDerivLocate
public BrentDerivLocate()
locate
public double locate(Bracket br,
UniDimensionalFunction f,
double tol,
int maxiter)
throws TooManyUniDimensionalIterationsException,
InvalidUniDimensionalFunctionException,
ClassCastException
- Shrinks the bracketing interval until a satisfactory approximation for the extremum it contains can be found.
- Specified by:
locate in interface LocateAlgorithm
- Parameters:
br - The bracket with all three points initialized.f - The function. If the function does not implement Derivative an UniDimensionalException will be thrown.tol - The tolerance, used as a termination criteria.maxiter - If the number of iterations exceeds this number
TooManyUniDimensionalIterationsException will be
thrown.
- Returns:
- The approximation for the point where the function has an extremum.
- Throws:
TooManyUniDimensionalIterationsException - thrown if the number of iterations in locate
algorithms is greater than maxiter.
InvalidUniDimensionalFunctionException - thrown if the user function returns invalid
values like infinity or NaN.
ClassCastException