TNT::Sparse_Matrix< T > Class Template Reference

#include <tnt_sparse_matrix.h>

Collaboration diagram for TNT::Sparse_Matrix< T >:
[legend]

List of all members.

Public Member Functions

 Sparse_Matrix (Subscript M, Subscript N)
 Sparse_Matrix (Subscript M, Subscript N, Subscript nz, const T *val, const Subscript *r, const Subscript *c)
int is_closed ()
void insert (const T &val, Subscript i, Subscript j)
void insert (Subscript nz, const T *val, const Subscript *i, const Subscript *j)
void insert_base_one (const T &val, Subscript i, Subscript j)
void insert_base_one (Subscript nz, const T *val, const Subscript *i, const Subscript *j)
void close ()
int num_rows () const
int num_cols () const
int num_columns () const
int num_nonzeros () const
Vector< T > diag () const
Vector< T > mult (const Vector< T > &x) const
double norm () const
std::ostream & print (std::ostream &s) const
std::ostream & print_base_one (std::ostream &s) const

Private Attributes

std::vector< Sparse_Vector< T > > S_
int num_rows_
int num_cols_
int num_nonzeros_
int internal_state_


Detailed Description

template<class T>
class TNT::Sparse_Matrix< T >

Read-only view of a sparse matrix in compressed-row storage format. Neither array elements (nonzeros) nor sparsity structure can be modified. If modifications are required, create a new view.

Index values begin at 0.

Storage requirements: An (m x n) matrix with nz nonzeros requires no more than ((T+2I)*nz) bytes, where T is the size of data elements and I is the size of integer subscripts.

Definition at line 82 of file tnt_sparse_matrix.h.


Constructor & Destructor Documentation

template<class T>
TNT::Sparse_Matrix< T >::Sparse_Matrix ( Subscript  M,
Subscript  N 
) [inline]

Definition at line 105 of file tnt_sparse_matrix.h.

template<class T>
TNT::Sparse_Matrix< T >::Sparse_Matrix ( Subscript  M,
Subscript  N,
Subscript  nz,
const T *  val,
const Subscript r,
const Subscript c 
) [inline]

Definition at line 112 of file tnt_sparse_matrix.h.


Member Function Documentation

template<class T>
void TNT::Sparse_Matrix< T >::close (  )  [inline]

Definition at line 162 of file tnt_sparse_matrix.h.

template<class T>
Vector<T> TNT::Sparse_Matrix< T >::diag (  )  const [inline]

Definition at line 179 of file tnt_sparse_matrix.h.

template<class T>
void TNT::Sparse_Matrix< T >::insert ( Subscript  nz,
const T *  val,
const Subscript i,
const Subscript j 
) [inline]

Definition at line 136 of file tnt_sparse_matrix.h.

template<class T>
void TNT::Sparse_Matrix< T >::insert ( const T &  val,
Subscript  i,
Subscript  j 
) [inline]

Definition at line 127 of file tnt_sparse_matrix.h.

template<class T>
void TNT::Sparse_Matrix< T >::insert_base_one ( Subscript  nz,
const T *  val,
const Subscript i,
const Subscript j 
) [inline]

Definition at line 152 of file tnt_sparse_matrix.h.

template<class T>
void TNT::Sparse_Matrix< T >::insert_base_one ( const T &  val,
Subscript  i,
Subscript  j 
) [inline]

Definition at line 147 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::is_closed (  )  [inline]

Definition at line 125 of file tnt_sparse_matrix.h.

template<class T>
Vector<T> TNT::Sparse_Matrix< T >::mult ( const Vector< T > &  x  )  const [inline]

Definition at line 199 of file tnt_sparse_matrix.h.

template<class T>
double TNT::Sparse_Matrix< T >::norm (  )  const [inline]

Definition at line 211 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::num_cols (  )  const [inline]

Definition at line 174 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::num_columns (  )  const [inline]

Definition at line 175 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::num_nonzeros (  )  const [inline]

Definition at line 176 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::num_rows (  )  const [inline]

Definition at line 173 of file tnt_sparse_matrix.h.

template<class T>
std::ostream& TNT::Sparse_Matrix< T >::print ( std::ostream &  s  )  const [inline]

Definition at line 225 of file tnt_sparse_matrix.h.

template<class T>
std::ostream& TNT::Sparse_Matrix< T >::print_base_one ( std::ostream &  s  )  const [inline]

Definition at line 239 of file tnt_sparse_matrix.h.


Member Data Documentation

template<class T>
int TNT::Sparse_Matrix< T >::internal_state_ [private]

Definition at line 98 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::num_cols_ [private]

Definition at line 91 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::num_nonzeros_ [private]

Definition at line 92 of file tnt_sparse_matrix.h.

template<class T>
int TNT::Sparse_Matrix< T >::num_rows_ [private]

Definition at line 90 of file tnt_sparse_matrix.h.

template<class T>
std::vector< Sparse_Vector<T> > TNT::Sparse_Matrix< T >::S_ [private]

Definition at line 88 of file tnt_sparse_matrix.h.


The documentation for this class was generated from the following file:

Generated on Fri Feb 6 13:30:19 2009 for CorAL by  doxygen 1.5.8