Classes | Functions
vnl_sparse_matrix.h File Reference

Simple sparse matrix. More...

#include <vector>
#include <functional>
#include <vnl/vnl_vector.h>
#include "vnl/vnl_export.h"

Go to the source code of this file.

Classes

class  vnl_sparse_matrix_pair< T >
 Stores elements of sparse matrix. More...
 
struct  vnl_sparse_matrix_pair< T >::less
 
class  vnl_sparse_matrix< T >
 Simple sparse matrix. More...
 

Functions

template<class T >
vnl_sparse_matrix< T > operator * (T const &value, vnl_sparse_matrix< T > const &m)
 

Detailed Description

Simple sparse matrix.

Only those values which are non-zero are stored. The sparse matrix currently supports only getting/putting elements, and multiply by vector or another sparse matrix.

Each row is stored as a vector of std::pair<unsigned int,T>, where the first of the pair indicates the column index, and the second the value. All rows are stored, as std::vector< row >;

Author
Rupert W. Curwen, GE CR&D
Date
20 Oct 98
 Modifications
  Robin Flatland 5/31/99 Added pre_mult(lhs,result), where
                         lhs is a vector.

  Robin Flatland 6/08/99 Added iterator that allows sequential
                         access to non-zero values in matrix.
                         Iterator is controlled using reset, next,
                         getrow, getcolumn, and value.

  David Capel May 2000   Added set_row, scale_row, mult, vcat and const
                         methods where appropriate.
  Peter Vanroose - Jan.2009 - Added several methods, modelled after vnl_matrix<T>:
    const version of operator()(unsigned int, unsigned int)
    T get(unsigned int, unsigned int)
    void put(unsigned int, unsigned int, T)
    void clear()
    vnl_sparse_matrix& normalize_rows()
    bool operator==()
    bool operator!=()
    unary minus of a matrix
    addition of two matrices
    subtraction of two matrices
    multiplication of two matrices
    in-place addition of two matrices
    in-place subtraction of two matrices
    in-place multiplication of two matrices
    scalar multiplication of a matrix
    in-place scalar multiplication of a matrix
    scalar division of a matrix
    in-place scalar division of a matrix
  Peter Vanroose - Oct.2010 - Added set_identity()
  Peter Vanroose - Mar.2011 - Added transpose() and conjugate_transpose()

Definition in file vnl_sparse_matrix.h.

Function Documentation

◆ operator *()

template<class T >
vnl_sparse_matrix< T > operator * ( T const &  value,
vnl_sparse_matrix< T > const &  m 
)
inline

Definition at line 310 of file vnl_sparse_matrix.h.