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

typedef FunctorType::Scalar | Scalar
typedef FunctorType::VectorType | FVectorType
typedef Eigen::DenseIndex | Index

## Public Member Functions

| BFGS (FunctorType &_functor)
BFGSSpace::Status | minimize (FVectorType &x)
BFGSSpace::Status | minimizeInit (FVectorType &x)
BFGSSpace::Status | minimizeOneStep (FVectorType &x)
BFGSSpace::Status | testGradient (Scalar epsilon)
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: http://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 114 of file bfgs.h.

## Member Typedef Documentation

## FVectorType

template<typename FunctorType>

typedef FunctorType::VectorType BFGS< FunctorType >::FVectorType

Definition at line 118 of file bfgs.h.

## Index

template<typename FunctorType>

typedef Eigen::DenseIndex BFGS< FunctorType >::Index

Definition at line 123 of file bfgs.h.

## Scalar

template<typename FunctorType>

typedef FunctorType::Scalar BFGS< FunctorType >::Scalar

Definition at line 117 of file bfgs.h.

## Constructor & Destructor Documentation

## BFGS()

template<typename FunctorType>

BFGS< FunctorType >::BFGS | ( | FunctorType & | _functor | ) |

inline

Definition at line 120 of file bfgs.h.

## Member Function Documentation

## minimize()

template<typename FunctorType >

BFGSSpace::Status BFGS< FunctorType >::minimize | ( | FVectorType & | x | ) |

Definition at line 294 of file bfgs.h.

References BFGSSpace::Success.

## minimizeInit()

template<typename FunctorType >

BFGSSpace::Status BFGS< FunctorType >::minimizeInit | ( | FVectorType & | x | ) |

Definition at line 305 of file bfgs.h.

References BFGSSpace::NotStarted.

Referenced by pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget >::estimateRigidTransformationBFGS().

## minimizeOneStep()

template<typename FunctorType >

BFGSSpace::Status BFGS< FunctorType >::minimizeOneStep | ( | FVectorType & | x | ) |

Definition at line 332 of file bfgs.h.

References pcl::B, BFGSSpace::NoProgress, and BFGSSpace::Success.

Referenced by pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget >::estimateRigidTransformationBFGS().

## resetParameters()

template<typename FunctorType>

void BFGS< FunctorType >::resetParameters | ( | void |  | ) |

inline

Definition at line 153 of file bfgs.h.

## testGradient()

template<typename FunctorType >

BFGSSpace::Status BFGS< FunctorType >::testGradient | ( | Scalar | epsilon | ) |

Definition at line 412 of file bfgs.h.

References BFGSSpace::NegativeGradientEpsilon, BFGSSpace::NoProgress, BFGSSpace::Running, and BFGSSpace::Success.

Referenced by pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget >::estimateRigidTransformationBFGS().

## Member Data Documentation

## f

template<typename FunctorType>

Scalar BFGS< FunctorType >::f

Definition at line 156 of file bfgs.h.

## gradient

template<typename FunctorType>

FVectorType BFGS< FunctorType >::gradient

Definition at line 157 of file bfgs.h.

## parameters

template<typename FunctorType>

Parameters BFGS< FunctorType >::parameters

Definition at line 155 of file bfgs.h.

Referenced by pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget >::estimateRigidTransformationBFGS().

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

- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/registration/include/pcl/registration/bfgs.h