Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::LBFGSOptimizer Class Reference
[NumericsOptimizers]

Wrap of the vnl_lbfgs algorithm. More...

#include <itkLBFGSOptimizer.h>

Inheritance diagram for itk::LBFGSOptimizer:

Inheritance graph
[legend]
Collaboration diagram for itk::LBFGSOptimizer:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LBFGSOptimizer Self
typedef SingleValuedNonLinearVnlOptimizer Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef vnl_vector< double > InternalParametersType
typedef vnl_lbfgs InternalOptimizerType

Public Member Functions

virtual const char * GetClassName () const
vnl_lbfgs * GetOptimizer (void)
void StartOptimization (void)
virtual void SetCostFunction (SingleValuedCostFunction *costFunction)
virtual void SetTrace (bool flag)
virtual bool GetTrace ()
virtual void TraceOn ()
virtual void TraceOff ()
virtual void SetMaximumNumberOfFunctionEvaluations (unsigned int n)
virtual unsigned int GetMaximumNumberOfFunctionEvaluations ()
virtual void SetGradientConvergenceTolerance (double gtol)
virtual double GetGradientConvergenceTolerance ()
virtual void SetLineSearchAccuracy (double tol)
virtual double GetLineSearchAccuracy ()
virtual void SetDefaultStepLength (double stp)
virtual double GetDefaultStepLength ()

Static Public Member Functions

Pointer New ()

Protected Types

typedef Superclass::CostFunctionAdaptorType CostFunctionAdaptorType

Protected Member Functions

 LBFGSOptimizer ()
virtual ~LBFGSOptimizer ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

Wrap of the vnl_lbfgs algorithm.

Definition at line 31 of file itkLBFGSOptimizer.h.


Member Typedef Documentation

typedef SmartPointer<const Self> itk::LBFGSOptimizer::ConstPointer
 

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 39 of file itkLBFGSOptimizer.h.

typedef Superclass::CostFunctionAdaptorType itk::LBFGSOptimizer::CostFunctionAdaptorType [protected]
 

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 107 of file itkLBFGSOptimizer.h.

typedef vnl_lbfgs itk::LBFGSOptimizer::InternalOptimizerType
 

Internal optimizer type. Definition at line 51 of file itkLBFGSOptimizer.h.

typedef vnl_vector<double> itk::LBFGSOptimizer::InternalParametersType
 

InternalParameters typedef. Definition at line 48 of file itkLBFGSOptimizer.h.

typedef SmartPointer<Self> itk::LBFGSOptimizer::Pointer
 

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 38 of file itkLBFGSOptimizer.h.

typedef LBFGSOptimizer itk::LBFGSOptimizer::Self
 

Standard "Self" typedef.

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 36 of file itkLBFGSOptimizer.h.

typedef SingleValuedNonLinearVnlOptimizer itk::LBFGSOptimizer::Superclass
 

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 37 of file itkLBFGSOptimizer.h.


Constructor & Destructor Documentation

itk::LBFGSOptimizer::LBFGSOptimizer  )  [protected]
 

virtual itk::LBFGSOptimizer::~LBFGSOptimizer  )  [protected, virtual]
 


Member Function Documentation

virtual const char* itk::LBFGSOptimizer::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

virtual double itk::LBFGSOptimizer::GetDefaultStepLength  )  [virtual]
 

Set/Get the default step size. This is a positive real number with a default value of 1.0 which determines the stpe size in the line search.

virtual double itk::LBFGSOptimizer::GetGradientConvergenceTolerance  )  [virtual]
 

Set/Get the gradient convergence tolerance. This is a positive real number that determines the accuracy with which the solution is to be found. The optimization terminates when: ||G|| < gtol max(1,||X||) where ||.|| denotes the Euclidean norm.

virtual double itk::LBFGSOptimizer::GetLineSearchAccuracy  )  [virtual]
 

Set/Get the line search accuracy. This is a positive real number with a default value of 0.9, which controls the accuracy of the line search. If the function and gradient evalutions are inexpensive with respect to the cost of the iterations it may be advantageous to set the value to a small value (say 0.1).

virtual unsigned int itk::LBFGSOptimizer::GetMaximumNumberOfFunctionEvaluations  )  [virtual]
 

Set/Get the maximum number of function evaluations allowed.

vnl_lbfgs* itk::LBFGSOptimizer::GetOptimizer void   ) 
 

Method for getting access to the internal optimizer.

virtual bool itk::LBFGSOptimizer::GetTrace  )  [virtual]
 

Set/Get the optimizer trace flag. If set to true, the optimizer prints out information every iteration.

Pointer itk::LBFGSOptimizer::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

void itk::LBFGSOptimizer::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

virtual void itk::LBFGSOptimizer::SetCostFunction SingleValuedCostFunction costFunction  )  [virtual]
 

Plug in a Cost Function into the optimizer

Implements itk::SingleValuedNonLinearVnlOptimizer.

virtual void itk::LBFGSOptimizer::SetDefaultStepLength double  stp  )  [virtual]
 

Set/Get the default step size. This is a positive real number with a default value of 1.0 which determines the stpe size in the line search.

virtual void itk::LBFGSOptimizer::SetGradientConvergenceTolerance double  gtol  )  [virtual]
 

Set/Get the gradient convergence tolerance. This is a positive real number that determines the accuracy with which the solution is to be found. The optimization terminates when: ||G|| < gtol max(1,||X||) where ||.|| denotes the Euclidean norm.

virtual void itk::LBFGSOptimizer::SetLineSearchAccuracy double  tol  )  [virtual]
 

Set/Get the line search accuracy. This is a positive real number with a default value of 0.9, which controls the accuracy of the line search. If the function and gradient evalutions are inexpensive with respect to the cost of the iterations it may be advantageous to set the value to a small value (say 0.1).

virtual void itk::LBFGSOptimizer::SetMaximumNumberOfFunctionEvaluations unsigned int  n  )  [virtual]
 

Set/Get the maximum number of function evaluations allowed.

virtual void itk::LBFGSOptimizer::SetTrace bool  flag  )  [virtual]
 

Set/Get the optimizer trace flag. If set to true, the optimizer prints out information every iteration.

void itk::LBFGSOptimizer::StartOptimization void   )  [virtual]
 

Start optimization with an initial value.

Reimplemented from itk::Optimizer.

virtual void itk::LBFGSOptimizer::TraceOff  )  [virtual]
 

Set/Get the optimizer trace flag. If set to true, the optimizer prints out information every iteration.

virtual void itk::LBFGSOptimizer::TraceOn  )  [virtual]
 

Set/Get the optimizer trace flag. If set to true, the optimizer prints out information every iteration.


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 03:15:32 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000