OMDc  2.0.0
created from 2320578 on deploy-documentation
OMD::LineSearchFunctor Class Reference

Functor for linesearch along geodesic. More...

#include <Functor.hpp>

Public Member Functions

const Eigen::Index costDim () const
 dimension of the cost function vector More...
 
 LineSearchFunctor (const DataStore &DS)
 standard constructor More...
 
int cost (Eigen::VectorXd &fvec) const
 computes cost by OMD::DataStore::getResidual() More...
 
double derivative (Eigen::MatrixXd &dF) const
 componentwise derivative w.r.t. bases representation More...
 

Detailed Description

Functor for linesearch along geodesic.

Constructor & Destructor Documentation

◆ LineSearchFunctor()

OMD::LineSearchFunctor::LineSearchFunctor ( const DataStore DS)

standard constructor

Parameters
DSreference to mutable OMD data

Member Function Documentation

◆ cost()

int OMD::LineSearchFunctor::cost ( Eigen::VectorXd &  fvec) const

computes cost by OMD::DataStore::getResidual()

Note
the current bases is given implicitly by the OMD::DataStore
Parameters
fvecvector with single entry for the result
Returns
0 on success

◆ costDim()

const Eigen::Index OMD::LineSearchFunctor::costDim ( ) const
inline

dimension of the cost function vector

Returns
dim == 1

◆ derivative()

double OMD::LineSearchFunctor::derivative ( Eigen::MatrixXd &  dF) const

componentwise derivative w.r.t. bases representation

The derivative of the OMD cost is expressed by using the internal representation of OMD::DataStore

\[ \partial F = YY^\top L - Y W Y^\ast + X W Y^\ast M \]

where $ W$ and $ Y\ast$ are obtained from OMD::DataStore::getProjector() and OMD::DataStore::getYstar(), respectively.

Note
The OMDc derivative reads the same, but the internal representation with the QR is changed, see OMDc::DataStore::updateSystemMatrices()
Parameters
dFresult matrix [n x r]
Returns
cost value for given bases

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