Helios++
Helios software for LiDAR simulations
fluxionum::Minimizer< IT, OT > Class Template Referenceabstract

Base abstract class providing basic structure for minimization optimization of a given function. More...

#include <Minimizer.h>

Inheritance diagram for fluxionum::Minimizer< IT, OT >:
Collaboration diagram for fluxionum::Minimizer< IT, OT >:

Public Member Functions

 Minimizer (function< OT(IT)> f)
 Minimizer default constructor. More...
 
virtual IT argmin (IT x)=0
 Find the argument which minimizes minimizer's function. More...
 
virtual function< OT(IT)> getF () const
 Obtain the function to be minimized. More...
 
virtual void setF (function< OT(IT)> f)
 Set the function to be minimized. More...
 

Protected Attributes

function< OT(IT)> f
 The function to be minimized.
 

Private Member Functions

template<typename Archive >
void serialize (Archive &ar, unsigned int const version)
 Serialize the minimizer to a stream of bytes. More...
 

Friends

class boost::serialization::access
 

Detailed Description

template<typename IT, typename OT>
class fluxionum::Minimizer< IT, OT >

Base abstract class providing basic structure for minimization optimization of a given function.

Author
Alberto M. Esmoris Pena
Version
1.0

Minimizer serves as basis for implementation of analytical minimizers, numerical minimizers, heuristic minimizers and any minimization-like optimization. Thus, it is only aware of the mathematical core of any minimization, which is:

\[ \mathrm{arg min}_{x} \; f(x) \]

Template Parameters
ITType of input the function to be minimized receives
OTType of output the function to be minimized gives

Constructor & Destructor Documentation

◆ Minimizer()

template<typename IT , typename OT >
fluxionum::Minimizer< IT, OT >::Minimizer ( function< OT(IT)>  f)
inline

Minimizer default constructor.

Parameters
fFunction to be minimized
See also
fluxionum::Minimizer::f<OT(IT)>

Member Function Documentation

◆ argmin()

template<typename IT , typename OT >
virtual IT fluxionum::Minimizer< IT, OT >::argmin ( IT  x)
pure virtual

Find the argument which minimizes minimizer's function.

Parameters
x
Returns
Argument which minimizes minimizer's function
See also
fluxionum::Minimizer::f<OT(IT)>

Implemented in fluxionum::UnivariateNewtonRaphsonMinimizer< IT, OT >.

◆ getF()

template<typename IT , typename OT >
virtual function<OT(IT)> fluxionum::Minimizer< IT, OT >::getF ( ) const
inlinevirtual

Obtain the function to be minimized.

Returns
Function to be minimized
See also
fluxionum::Minimizer::f<OT(IT)>

◆ serialize()

template<typename IT , typename OT >
template<typename Archive >
void fluxionum::Minimizer< IT, OT >::serialize ( Archive &  ar,
unsigned int const  version 
)
inlineprivate

Serialize the minimizer to a stream of bytes.

Template Parameters
ArchiveType of rendering
Parameters
arSpecific rendering for the stream of bytes
versionVersion number for the minimizer

◆ setF()

template<typename IT , typename OT >
virtual void fluxionum::Minimizer< IT, OT >::setF ( function< OT(IT)>  f)
inlinevirtual

Set the function to be minimized.

Parameters
fNew function to be minimized
See also
fluxionum::Minimizer::f<OT(IT)>

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