Point Cloud Library (PCL)  1.14.0-dev
List of all members | Classes | Public Types | Public Member Functions | Public Attributes
BFGS< FunctorType > Class Template Reference

BFGS stands for Broyden–Fletcher–Goldfarb–Shanno (BFGS) method for solving unconstrained nonlinear optimization problems. More...

#include <pcl/registration/bfgs.h>

+ Collaboration diagram for BFGS< FunctorType >:

Classes

struct  Parameters
 

Public Types

using Scalar = typename FunctorType::Scalar
 
using FVectorType = typename FunctorType::VectorType
 
using Index = Eigen::DenseIndex
 

Public Member Functions

 BFGS (FunctorType &_functor)
 
BFGSSpace::Status minimize (FVectorType &x)
 
BFGSSpace::Status minimizeInit (FVectorType &x)
 
BFGSSpace::Status minimizeOneStep (FVectorType &x)
 
BFGSSpace::Status testGradient ()
 
void resetParameters (void)
 

Public Attributes

Parameters parameters
 
Scalar f
 
FVectorType gradient
 

Detailed Description

template<typename FunctorType>
class BFGS< FunctorType >

BFGS stands for Broyden–Fletcher–Goldfarb–Shanno (BFGS) method for solving unconstrained nonlinear optimization problems.

For further details please visit: https://en.wikipedia.org/wiki/BFGS_method The method provided here is almost similar to the one provided by GSL. It reproduces Fletcher's original algorithm in Practical Methods of Optimization algorithms : 2.6.2 and 2.6.4 and uses the same politics in GSL with cubic interpolation whenever it is possible else falls to quadratic interpolation for alpha parameter.

Definition at line 121 of file bfgs.h.

Member Typedef Documentation

◆ FVectorType

template<typename FunctorType >
using BFGS< FunctorType >::FVectorType = typename FunctorType::VectorType

Definition at line 124 of file bfgs.h.

◆ Index

template<typename FunctorType >
using BFGS< FunctorType >::Index = Eigen::DenseIndex

Definition at line 128 of file bfgs.h.

◆ Scalar

template<typename FunctorType >
using BFGS< FunctorType >::Scalar = typename FunctorType::Scalar

Definition at line 123 of file bfgs.h.

Constructor & Destructor Documentation

◆ BFGS()

template<typename FunctorType >
BFGS< FunctorType >::BFGS ( FunctorType &  _functor)
inline

Definition at line 126 of file bfgs.h.

Member Function Documentation

◆ minimize()

template<typename FunctorType >
BFGSSpace::Status BFGS< FunctorType >::minimize ( FVectorType x)

Definition at line 349 of file bfgs.h.

References BFGSSpace::Success.

◆ minimizeInit()

template<typename FunctorType >
BFGSSpace::Status BFGS< FunctorType >::minimizeInit ( FVectorType x)

◆ minimizeOneStep()

template<typename FunctorType >
BFGSSpace::Status BFGS< FunctorType >::minimizeOneStep ( FVectorType x)

◆ resetParameters()

template<typename FunctorType >
void BFGS< FunctorType >::resetParameters ( void  )
inline

Definition at line 164 of file bfgs.h.

References BFGS< FunctorType >::parameters.

◆ testGradient()

template<typename FunctorType >
BFGSSpace::Status BFGS< FunctorType >::testGradient

Member Data Documentation

◆ f

template<typename FunctorType >
Scalar BFGS< FunctorType >::f

Definition at line 170 of file bfgs.h.

◆ gradient

template<typename FunctorType >
FVectorType BFGS< FunctorType >::gradient

Definition at line 171 of file bfgs.h.

◆ parameters

template<typename FunctorType >
Parameters BFGS< FunctorType >::parameters

The documentation for this class was generated from the following file: