irlba
A C++ library for IRLBA
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
wrappers.hpp File Reference

Wrapper classes for multiplication of modified matrices. More...

#include "utils.hpp"
#include "Eigen/Dense"
#include <type_traits>
Include dependency graph for wrappers.hpp:

Go to the source code of this file.

Classes

struct  irlba::get_workspace< Matrix_, typename >
 Get the type of workspace for wrapped_multiply(). More...
 
struct  irlba::get_workspace< Matrix_, decltype((void) std::declval< typename Matrix_::Index >(), 0)>
 Get the type of workspace for wrapped_multiply(). More...
 
struct  irlba::get_adjoint_workspace< Matrix_, typename >
 Get the type of workspace for wrapped_adjoint_multiply(). More...
 
struct  irlba::get_adjoint_workspace< Matrix_, decltype((void) std::declval< typename Matrix_::Index >(), 0)>
 Get the type of workspace for wrapped_adjoint_multiply(). More...
 
class  irlba::Centered< Matrix_, EigenVector_ >
 Wrapper for a centered matrix. More...
 
class  irlba::Scaled< column_, Matrix_, EigenVector_ >
 Wrapper for a scaled matrix. More...
 

Namespaces

namespace  irlba
 Implements IRLBA for approximate SVD.
 

Typedefs

template<class Matrix_ >
using irlba::WrappedWorkspace = typename get_workspace< Matrix_ >::type
 
template<class Matrix_ >
using irlba::WrappedAdjointWorkspace = typename get_adjoint_workspace< Matrix_ >::type
 

Functions

template<class Matrix_ >
WrappedWorkspace< Matrix_irlba::wrapped_workspace (const Matrix_ &matrix)
 
template<class Matrix_ >
WrappedAdjointWorkspace< Matrix_irlba::wrapped_adjoint_workspace (const Matrix_ &matrix)
 
template<class Matrix_ , class Right_ , class EigenVector_ >
void irlba::wrapped_multiply (const Matrix_ &matrix, const Right_ &rhs, WrappedWorkspace< Matrix_ > &work, EigenVector_ &out)
 
template<class Matrix_ , class Right_ , class EigenVector_ >
void irlba::wrapped_adjoint_multiply (const Matrix_ &matrix, const Right_ &rhs, WrappedAdjointWorkspace< Matrix_ > &work, EigenVector_ &out)
 
template<class EigenMatrix_ , class Matrix_ >
EigenMatrix_ irlba::wrapped_realize (const Matrix_ &matrix)
 
template<bool column_, class Matrix_ , class EigenVector_ >
Scaled< column_, Matrix_, EigenVector_irlba::make_Scaled (const Matrix_ &matrix, const EigenVector_ &scale, bool divide)
 

Detailed Description

Wrapper classes for multiplication of modified matrices.