WebCab Optimization
v2.6
(J2EE Edition)

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

Constructor Summary
BrentDerivLocate()
           
 
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
 

Constructor Detail

BrentDerivLocate

public BrentDerivLocate()
Method Detail

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

WebCab Optimization
v2.6
(J2EE Edition)