class HCL_LineSearch_MT_d : public HCL_LineSearch_d

An implementation of the More' and Thuente line search algorithm (See More' and Thuente, "Line Search Algorithms with Guaranteed Sufficient Decrease", ACM TOMS, Vol

Inheritance:


Public Methods

HCL_LineSearch_MT_d ( char *fname = NULL )
Usual constructor
virtual Table& Parameters () const
Access to the parameter table
virtual void SetScaling ( const HCL_LinearOp_d * S )
SetScaling allows the specification of a different inner product (and hence norm)
virtual void UnSetScaling ()
UnSetScaling causes the line search to use the default inner product
virtual HCL_EvaluateFunctional_d* Search ( HCL_Functional_d & fptr, const HCL_Vector_d & xcur, HCL_Vector_d & xnext, HCL_Vector_d & dir, HCL_EvaluateFunctional_d * xinit_eval)
LineSearch algorithm
virtual ostream& Write ( ostream & str ) const
Prints description of the object

Inherited from HCL_LineSearch_d:

Public

Term codes


Inherited from HCL_Base:

Public Methods

void IncCount() const
void DecCount() const
int Count() const

Documentation

An implementation of the More' and Thuente line search algorithm (See More' and Thuente, "Line Search Algorithms with Guaranteed Sufficient Decrease", ACM TOMS, Vol. 20, No. 3, 286--307 (1994)). The description of this class follows closely that of the base class HCL_LineSearch_d, which should be consulted for details.
double FcnDecreaseTol
(1e-4) Tolerance for decreasing function value (Armijo-Goldstein condition)

double SlopeDecreaseTol
(9e-1) Slope at minimum must be smaller than SlopeDecreaseTol times the initial slope

double MinStep
(1e-20) Minimum step length

double MaxStep
(1e20) Maximum step length

int MaxSample
(8) Maximum number of function evaluations to perform

double ZeroDivideTol
(1e-40) Tolerance for divide-by-zero

int DispFlag
(0) DispFlag controls the amount of output sent to the screen during execution of the Search method. The usual choices are 0 --- no output 1 --- a summary at the end of execution 2 --- a summary at each iteration In addition, values of DispFlag greater than 2 may send increasing amount of detail to the screen (this is intended primarily for development use, i.e. for debugging).

int DumpFlag
(0) DumpFlag has exactly the same purpose as DispFlag, except the information is sent to a file, whose name is defined by DumpFile

char DumpFile[81]
(HCL_LineSearch_MT.DumpFile) DumpFile is the name of the file to which results are written (if DumpFlag is positive).

int DispPrecision
(6) DispPrecision gives the number of digits in numbers sent to the screen

int DumpPrecision
(DispPrecision) DumpPrecision gives the number of digits in numbers sent to the file

double IntervalTol
(sqrt(macheps)) Line search halts if the length of the interval of of uncertainty falls below IntervalTol

double BracketIncrease
(4) factor to change mu during backtracking

int TermCode
exit status (<0 = no reduction, 0 = success, >0 = reduction, but failed)

int MaxTkn
Maximum step size taken? (1 = taken, 0 = not taken)

HCL_LineSearch_MT_d( char *fname = NULL )
Usual constructor
Parameters:
fname - Parameter file name or NULL

virtual Table& Parameters() const
Access to the parameter table

virtual void SetScaling( const HCL_LinearOp_d * S )
SetScaling allows the specification of a different inner product (and hence norm). Instead of , the scaled inner product will be used, where is a symmetric positive definite operator. Through this method, a line search can be made consistent with a minimization algorithm which scales the norm.

virtual void UnSetScaling()
UnSetScaling causes the line search to use the default inner product

virtual HCL_EvaluateFunctional_d* Search( HCL_Functional_d & fptr, const HCL_Vector_d & xcur, HCL_Vector_d & xnext, HCL_Vector_d & dir, HCL_EvaluateFunctional_d * xinit_eval)
LineSearch algorithm. Returns an evaluation object for the final point or NULL, depending on whether the line search was successful or not. The Parameter TermCode contains the exit status.

Parameters:
fptr - function
xcur - starting point, on successful completion, this will hold the computed minimum
dir - starting direction
xinit_eval - evaluation object for starting point

virtual ostream& Write( ostream & str ) const
Prints description of the object


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de