irlba
A C++ library for IRLBA
Loading...
Searching...
No Matches
irlba::Matrix< EigenVector_, EigenMatrix_ > Class Template Referenceabstract

Interface for a matrix to use in compute(). More...

#include <interface.hpp>

Inheritance diagram for irlba::Matrix< EigenVector_, EigenMatrix_ >:

Public Member Functions

virtual Eigen::Index rows () const =0
 
virtual Eigen::Index cols () const =0
 
virtual std::unique_ptr< Workspace< EigenVector_ > > new_workspace () const =0
 
virtual std::unique_ptr< AdjointWorkspace< EigenVector_ > > new_adjoint_workspace () const =0
 
virtual std::unique_ptr< RealizeWorkspace< EigenMatrix_ > > new_realize_workspace () const =0
 
std::unique_ptr< Workspace< EigenVector_ > > new_known_workspace () const
 
std::unique_ptr< AdjointWorkspace< EigenVector_ > > new_known_adjoint_workspace () const
 
std::unique_ptr< RealizeWorkspace< EigenMatrix_ > > new_known_realize_workspace () const
 

Detailed Description

template<class EigenVector_, class EigenMatrix_>
class irlba::Matrix< EigenVector_, EigenMatrix_ >

Interface for a matrix to use in compute().

Template Parameters
EigenVector_A floating-point Eigen::Vector.
EigenMatrix_A floating-point Eigen::Matrix.

Defines an time interface for a matrix input to IRLBA, supporting matrix-vector multiplication and realization into an EigenMatrix_.

Member Function Documentation

◆ cols()

◆ new_adjoint_workspace()

template<class EigenVector_ , class EigenMatrix_ >
virtual std::unique_ptr< AdjointWorkspace< EigenVector_ > > irlba::Matrix< EigenVector_, EigenMatrix_ >::new_adjoint_workspace ( ) const
pure virtual

◆ new_known_adjoint_workspace()

template<class EigenVector_ , class EigenMatrix_ >
std::unique_ptr< AdjointWorkspace< EigenVector_ > > irlba::Matrix< EigenVector_, EigenMatrix_ >::new_known_adjoint_workspace ( ) const
inline
Returns
A new workspace for adjoint matrix multiplication. The lifetime of this object should not exceed that of its parent Matrix.

Subclasses may override this method to return a pointer to a specific AdjointWorkspace subclass. This is used for devirtualization in compute(). If no override is provided, new_adjoint_workspace() is called instead.

◆ new_known_realize_workspace()

template<class EigenVector_ , class EigenMatrix_ >
std::unique_ptr< RealizeWorkspace< EigenMatrix_ > > irlba::Matrix< EigenVector_, EigenMatrix_ >::new_known_realize_workspace ( ) const
inline
Returns
A new workspace for matrix realization. The lifetime of this object should not exceed that of its parent Matrix.

Subclasses may override this method to return a pointer to a specific RealizeWorkspace subclass. This is used for devirtualization in compute(). If no override is provided, new_realize_workspace() is called instead.

◆ new_known_workspace()

template<class EigenVector_ , class EigenMatrix_ >
std::unique_ptr< Workspace< EigenVector_ > > irlba::Matrix< EigenVector_, EigenMatrix_ >::new_known_workspace ( ) const
inline
Returns
A new workspace for matrix multiplication. The lifetime of this object should not exceed that of its parent Matrix.

Subclasses may override this method to return a pointer to a specific Workspace subclass. This is used for devirtualization in compute(). If no override is provided, new_workspace() is called instead.

◆ new_realize_workspace()

template<class EigenVector_ , class EigenMatrix_ >
virtual std::unique_ptr< RealizeWorkspace< EigenMatrix_ > > irlba::Matrix< EigenVector_, EigenMatrix_ >::new_realize_workspace ( ) const
pure virtual

◆ new_workspace()

template<class EigenVector_ , class EigenMatrix_ >
virtual std::unique_ptr< Workspace< EigenVector_ > > irlba::Matrix< EigenVector_, EigenMatrix_ >::new_workspace ( ) const
pure virtual

◆ rows()


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