| 
    irlba
    
   A C++ library for IRLBA 
   | 
 
Deferred centering of a matrix. More...
#include <centered.hpp>


Public Member Functions | |
| CenteredMatrix (const MatrixPointer_ &matrix, const CenterPointer_ ¢er) | |
| Eigen::Index | rows () const | 
| Eigen::Index | cols () const | 
| std::unique_ptr< Workspace< EigenVector_ > > | new_workspace () const | 
| std::unique_ptr< AdjointWorkspace< EigenVector_ > > | new_adjoint_workspace () const | 
| std::unique_ptr< RealizeWorkspace< EigenMatrix_ > > | new_realize_workspace () const | 
| std::unique_ptr< CenteredWorkspace< EigenVector_, I< decltype(*my_matrix)>, I< decltype(*my_center)> > > | new_known_workspace () const | 
| std::unique_ptr< CenteredAdjointWorkspace< EigenVector_, I< decltype(*my_matrix)>, I< decltype(*my_center)> > > | new_known_adjoint_workspace () const | 
| std::unique_ptr< CenteredRealizeWorkspace< EigenMatrix_, I< decltype(*my_matrix)>, I< decltype(*my_center)> > > | 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 | 
Deferred centering of a matrix.
| EigenVector_ | A floating-point Eigen::Vector to be used as input/output of multiplication operations.  | 
| EigenMatrix_ | A dense floating-point Eigen::Matrix in which to store the realized matrix. Typically of the same scalar type as EigenVector_.  | 
| MatrixPointer_ | Pointer to an instance of a class satisfying the Matrix interface. This can be a smart or raw pointer.  | 
| CenterPointer_ | Pointer to an instance of an Eigen vector class to hold the column centers. This can be a smart or raw pointer. | 
This class computes the matrix-vector product after centering all columns in the matrix, i.e., subtracting the mean of each column from the values of that column. Naively doing such an operation would involve loss of sparsity, which we avoid by deferring the subtraction into the subspace defined by right. 
      
  | 
  inline | 
| matrix | Pointer to a matrix to be column-centered. | 
| center | Pointer to a vector of length equal to the number of columns of matrix, containing the value to subtract from each column.  | 
      
  | 
  inlinevirtual | 
Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
      
  | 
  inlinevirtual | 
Matrix. Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
      
  | 
  inline | 
Overrides Matrix::new_known_adjoint_workspace() to enable devirtualization. 
      
  | 
  inline | 
Overrides Matrix::new_known_realize_workspace() to enable devirtualization. 
      
  | 
  inline | 
Overrides Matrix::new_known_workspace() to enable devirtualization. 
      
  | 
  inlinevirtual | 
Matrix. Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
      
  | 
  inlinevirtual | 
Matrix. Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.
      
  | 
  inlinevirtual | 
Implements irlba::Matrix< EigenVector_, EigenMatrix_ >.