1#ifndef IRLBA_MATRIX_INTERFACE_HPP 
    2#define IRLBA_MATRIX_INTERFACE_HPP 
   23template<
class EigenVector_>
 
   49    virtual void multiply(
const EigenVector_& right, EigenVector_& output) = 0;
 
 
   60template<
class EigenVector_>
 
   87    virtual void multiply(
const EigenVector_& right, EigenVector_& output) = 0;
 
 
   98template<
class EigenMatrix_>
 
  119    virtual const EigenMatrix_& 
realize(EigenMatrix_& buffer) = 0;
 
  126        const auto& out = 
realize(buffer);
 
  127        if (&out != &buffer) {
 
 
 
  141template<
class EigenVector_, 
class EigenMatrix_>
 
  161    virtual Eigen::Index 
rows() 
const = 0;
 
  166    virtual Eigen::Index 
cols() 
const = 0;
 
  173    virtual std::unique_ptr<Workspace<EigenVector_> > 
new_workspace() 
const = 0;
 
 
Workspace class for multiplying a transposed Matrix.
Definition interface.hpp:61
 
virtual void multiply(const EigenVector_ &right, EigenVector_ &output)=0
 
Interface for a matrix to use in compute().
Definition interface.hpp:142
 
virtual std::unique_ptr< AdjointWorkspace< EigenVector_ > > new_adjoint_workspace() const =0
 
virtual std::unique_ptr< RealizeWorkspace< EigenMatrix_ > > new_realize_workspace() const =0
 
virtual Eigen::Index rows() const =0
 
std::unique_ptr< AdjointWorkspace< EigenVector_ > > new_known_adjoint_workspace() const
Definition interface.hpp:208
 
virtual Eigen::Index cols() const =0
 
virtual std::unique_ptr< Workspace< EigenVector_ > > new_workspace() const =0
 
std::unique_ptr< RealizeWorkspace< EigenMatrix_ > > new_known_realize_workspace() const
Definition interface.hpp:220
 
std::unique_ptr< Workspace< EigenVector_ > > new_known_workspace() const
Definition interface.hpp:196
 
Workspace class for realizing a Matrix.
Definition interface.hpp:99
 
virtual const EigenMatrix_ & realize(EigenMatrix_ &buffer)=0
 
void realize_copy(EigenMatrix_ &buffer)
Definition interface.hpp:125
 
Workspace class for multiplying a Matrix.
Definition interface.hpp:24
 
virtual void multiply(const EigenVector_ &right, EigenVector_ &output)=0
 
Implements IRLBA for approximate SVD.
Definition compute.hpp:22