Point Cloud Library (PCL) 1.15.1
Loading...
Searching...
No Matches
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>

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 minimizeInit(), minimizeOneStep(), parameters, and 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 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.

Referenced by minimizeInit(), and minimizeOneStep().

◆ gradient

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

Definition at line 171 of file bfgs.h.

Referenced by minimizeInit(), minimizeOneStep(), and testGradient().

◆ parameters

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

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