com.webcab.ejb.math.optimization.unidimensional
Class LinearLocate
java.lang.Object
|
+--com.webcab.ejb.math.optimization.unidimensional.LinearLocate
- All Implemented Interfaces:
- LocateAlgorithm, Serializable
- public class LinearLocate
- extends Object
- implements LocateAlgorithm
The golden section search algorithm.
This is a general iterative algorithm that searches the extremum using
golden section search. The convergence is linear, meaning that successive significant
figures are won linearly with additional function evaluations. The method does not use
any kind of parabolic interpolation.
- See Also:
LocateAlgorithm,
BrentLocate,
BrentDerivLocate,
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 |
LinearLocate
public LinearLocate()
locate
public double locate(Bracket br,
UniDimensionalFunction f,
double tol,
int maxiter)
throws TooManyUniDimensionalIterationsException,
InvalidUniDimensionalFunctionException
- 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.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.