LDA++
Public Types | Public Member Functions | List of all members
ldaplusplus::optimization::LineSearch< ProblemType, ParameterType > Class Template Referenceabstract

#include <GradientDescent.hpp>

Inheritance diagram for ldaplusplus::optimization::LineSearch< ProblemType, ParameterType >:
ldaplusplus::optimization::ArmijoLineSearch< ProblemType, ParameterType > ldaplusplus::optimization::ConstantLineSearch< ProblemType, ParameterType >

Public Types

typedef ParameterType::Scalar Scalar
 

Public Member Functions

virtual Scalar search (const ProblemType &problem, Eigen::Ref< ParameterType > x0, const ParameterType &grad_x0, const ParameterType &direction)=0
 

Detailed Description

template<typename ProblemType, typename ParameterType>
class ldaplusplus::optimization::LineSearch< ProblemType, ParameterType >

LineSearch is an interface that is meant to be used to update the parameter x0 in the direction 'direction' by (probably) performing a line search for the best value.

Member Function Documentation

template<typename ProblemType , typename ParameterType >
virtual Scalar ldaplusplus::optimization::LineSearch< ProblemType, ParameterType >::search ( const ProblemType &  problem,
Eigen::Ref< ParameterType >  x0,
const ParameterType &  grad_x0,
const ParameterType &  direction 
)
pure virtual

Search for a good enough function value in the direction given and the function given.

This function changes its parameter x0 which is passed by reference.

Parameters
problemThe function to be minimized
x0The improved position (passed by reference)
grad_x0The gradient at the initial x0
directionThe direction of search which can be different than the gradient to account for Newton methods
Returns
The function value at the final x0

Implemented in ldaplusplus::optimization::ArmijoLineSearch< ProblemType, ParameterType >, and ldaplusplus::optimization::ConstantLineSearch< ProblemType, ParameterType >.


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