|
Index
C++ Code Documentation
math::minimize1
File: BASE/math/Minimize1.H
Finds minimum of a function f:R^1-->R^1.
Adapted from Numerical Recipes in C, 2nd ed. sec. 10.2, p. 404.
(Parabolic Interpolation and Brent's Method in One Dimension)
input:
f = function to minimize
ax, bx, cx = initial points
the initial points must "bracket" a minimum, that is
bx must be between ax and cx, and
f(bx) must be std::less than f(ax) and f(cx)
tol = x-tolerance (may be 0.0)
max_iter: maximum allowable iterations (e.g. 100)
output:
[x, y] = minimum and function value at minimum
status
return value:
0: converged
1: too many iterations
public:
- minimize1();
 | void constructor | |
- virtual ~minimize1();
 | destructor | |
- enum Status;
- int find_minimum( double &x, double &y, double ax, double bx, double cx );
- void set_precision_goal( double x );
- double get_precision_goal();
- void set_accuracy_goal( double x );
- double get_accuracy_goal();
- void set_iteration_limit( uint x );
- uint get_iteration_limit();
- uint get_iteration_count();
protected:
- virtual double function(double) = 0;
private:
- double _precision_goal;
- double _accuracy_goal;
- uint _iteration_limit;
- uint _iteration_count;
- inline void shift(double &a, double &b, double &c, double d);
- inline double sign_adjust( double x, double s );
- static double const smallreal_double;
- minimize1( minimize1 const & );
 | Disabled copy constructor. | |
- minimize1 &operator=( minimize1 const & );
 | Disabled assignment operator. | |
|