lucid  0.0.1
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
lucid::FeatureMap Class Referenceabstract

Map input vectors to a feature space. More...

#include <FeatureMap.h>

Inheritance diagram for lucid::FeatureMap:
lucid::TruncatedFourierFeatureMap lucid::ConstantTruncatedFourierFeatureMap lucid::LinearTruncatedFourierFeatureMap lucid::LogTruncatedFourierFeatureMap

Public Member Functions

Matrix operator() (ConstMatrixRef x) const
 Apply the feature map to a vector.
 
Matrix invert (ConstMatrixRef y) const
 Apply the inverse feature map to a vector.
 
virtual std::unique_ptr< FeatureMapclone () const =0
 Clone the feature map.
 
virtual std::string to_string () const
 Obtain the string representation of this object.
 

Protected Member Functions

virtual Matrix apply_impl (ConstMatrixRef x) const =0
 Concrete implementation of operator()().
 
virtual Matrix invert_impl (ConstMatrixRef y) const =0
 Concrete implementation of invert().
 

Detailed Description

Map input vectors to a feature space.

The output space usually has a higher dimensionality than the input space.

Member Function Documentation

◆ apply_impl()

virtual Matrix lucid::FeatureMap::apply_impl ( ConstMatrixRef x) const
nodiscardprotectedpure virtual

Concrete implementation of operator()().

Parameters
x\( \texttip{n}{Number of samples} \times \texttip{d}{Dimension of the vector space} \) input vector
Returns
\( n \times M \) output, where \( M \) is the dimension of the feature space

Implemented in lucid::TruncatedFourierFeatureMap.

◆ clone()

virtual std::unique_ptr< FeatureMap > lucid::FeatureMap::clone ( ) const
nodiscardpure virtual

Clone the feature map.

Create a new instance of the feature map with the same parameters.

Returns
new instance of the feature map

Implemented in lucid::ConstantTruncatedFourierFeatureMap, lucid::LinearTruncatedFourierFeatureMap, lucid::LogTruncatedFourierFeatureMap, and lucid::TruncatedFourierFeatureMap.

◆ invert()

Matrix lucid::FeatureMap::invert ( ConstMatrixRef y) const
nodiscard

Apply the inverse feature map to a vector.

Parameters
y\( n \times M \) input vector in the feature space
Returns
\( \texttip{n}{Number of samples} \times \texttip{d}{Dimension of the vector space} \) output in the original space

◆ invert_impl()

virtual Matrix lucid::FeatureMap::invert_impl ( ConstMatrixRef y) const
nodiscardprotectedpure virtual

Concrete implementation of invert().

Parameters
y\( n \times M \) input vector in the feature space
Returns
\( \texttip{n}{Number of samples} \times \texttip{d}{Dimension of the vector space} \) output in the original space

Implemented in lucid::TruncatedFourierFeatureMap.

◆ operator()()

Matrix lucid::FeatureMap::operator() ( ConstMatrixRef x) const
nodiscard

Apply the feature map to a vector.

Parameters
x\( \texttip{n}{Number of samples} \times \texttip{d}{Dimension of the vector space} \) input vector
Returns
\( n \times M \) output, where \( M \) is the dimension of the feature space

◆ to_string()

std::string lucid::FeatureMap::to_string ( ) const
nodiscardvirtual

Obtain the string representation of this object.

Returns
string representation of this object

Reimplemented in lucid::ConstantTruncatedFourierFeatureMap, lucid::LinearTruncatedFourierFeatureMap, and lucid::LogTruncatedFourierFeatureMap.


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