WebCab Optimization
v2.6
(J2EE Edition)

com.webcab.ejb.math.optimization.unidimensional
Class CubicDerivLocate

java.lang.Object
  |
  +--com.webcab.ejb.math.optimization.unidimensional.CubicDerivLocate
All Implemented Interfaces:
LocateAlgorithm, Serializable

public class CubicDerivLocate
extends Object
implements LocateAlgorithm

The cubic interpolation algorithm. This `locate' algorithm can be used only for derivable functions. If you try using this algorithm with a function for which you don't supply a derivative, an UniDimensionalException will be thrown.

This is an iterative algorithm which uses cubic interpolation.

See Also:
Serialized Form

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

CubicDerivLocate

public CubicDerivLocate()
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 - not used
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
See Also:
LocateAlgorithm, LinearLocate, BrentLocate, BrentDerivLocate, LinearLocate, ParabolicLocate

WebCab Optimization
v2.6
(J2EE Edition)