|
irlba_tatami
tatami wrappers for IRLBA
|
Wrap a tatami matrix for irlba. More...
#include <normal.hpp>


Public Member Functions | |
| Normal (TMatrixPointer_ mat, int num_threads) | |
| Eigen::Index | rows () const |
| Eigen::Index | cols () const |
| std::unique_ptr< irlba::Workspace< EigenVector_ > > | new_workspace () const |
| std::unique_ptr< irlba::AdjointWorkspace< EigenVector_ > > | new_adjoint_workspace () const |
| std::unique_ptr< irlba::RealizeWorkspace< EigenMatrix_ > > | new_realize_workspace () const |
| auto | new_known_workspace () const |
| auto | new_known_adjoint_workspace () const |
| auto | new_known_realize_workspace () const |
Public Member Functions inherited from irlba::Matrix< EigenVector_, EigenMatrix_ > | |
| 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 |
Wrap a tatami matrix for irlba.
| EigenVector_ | A floating-point Eigen::Vector. |
| EigenMatrix_ | A floating-point Eigen::Matrix. |
| TValue_ | Numeric type of the tatami matrix value. |
| TIndex_ | Integer type of the tatami matrix row/column indices. |
| TMatrixPointer_ | Pointer to a tatami matrix class consistent with TValue_ and TIndex_. This may be a raw or smart pointer. |
This class computes the matrix-vector product for a tatami::Matrix or one of its subclasses. The aim is to avoid realizing a tatami::Matrix into an Eigen::Matrix or irlba::ParallelSparseMatrix for use in irlba::compute(). Iteration over a tatami::Matrix is generally slower, as this effectively trades speed for memory efficiency.
|
inline |
| mat | Pointer to an instance of a tatami matrix. The lifetime of mat should exceed that of the Normal instance constructed from it. |
| num_threads | Number of threads for the various operations. |
|
inlinevirtual |
Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
|
inlinevirtual |
Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
|
inline |
Overrides irlba::Matrix::new_adjoint_workspace() to enable devirtualization.
|
inline |
Overrides irlba::Matrix::new_realize_workspace() to enable devirtualization.
|
inline |
Overrides irlba::Matrix::new_workspace() to enable devirtualization.
|
inlinevirtual |
Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
|
inlinevirtual |
Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
|
inlinevirtual |
Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.