## class BrentLineSearch : public LineSearch

BrentLineSearch class

## Inheritance:

### public members:

BrentLineSearch ( ObjectiveFunction * f, int iter )
a constructor
 ObjectiveFunction * f pointer to an objective fuunction class int iter maximum number of iterations allowed in search
Model <double> search ( Model <double>& m0, Vector <double>& direction, double tol , double delta)
search for minimum model along a 1-D direction
 Model & m0 initial model to initiate the bracketing procedure Vector & direction the direction of the line search double tol the minimum is within the returned value +/- tol double delta a parameter used in the bracketing procedure
Model <long> search ( Model <long>&, Vector <double>&, double, double)
search for minimum model along a 1-D direction

### public members:

Vector <double> gradient( Model <double>& m)
double evaluate( Model <double>& m)
Vector <double> gradient( Model <long>& m)
double evaluate( Model <long>& m)
List <int> allSearchIterations()
int searchIterations()
double currentValue()
const char* objName()

### protected members:

int iterMax
int iterNum
List <int>* iterHistory
double value
ObjectiveFunction * fp
void appendSearchNumber()

## Documentation

BrentLineSearch class was inpired by the Numerical Recipes book, performs an unidimensional search for the minimum of the objective function along a specified direction. The minimum is at first bracket using the Golden search procedure. After bracketing the Brent's algorithm is used to isolate the minimum to a fractional precision of about the specified tolerance.

This line search was not thoroughly tested. The CubicLineSearch procedure, that requires certain derivative information on the objective function (that can be provided by numerical methods) has demonstrated to be a more efficient line search procedure.

Model <double> search ( Model <double>& m0, Vector <double>& direction, double tol , double delta)
The initial interval for the bracketing is from $0$ to $delta \times STEP_MAX$, where $STEP_MAX$ is hard coded to $5$. The sought minimum is returned by the function.

#### this class has no child classes.

alphabetic index hierarchy of classes