|
linbox
|
Space efficient representation of sparse matrices. More...
#include <csf.h>
Inheritance diagram for CSF< _Field >:Data Structures | |
| class | sort_data_by_col |
Public Types | |
| enum | csformat { csr , csc } |
| typedef size_t | Index |
| typedef CSF< _Field > | Self_t |
| typedef _Field | Field |
| typedef _Field::Element | Element |
| typedef std::vector< Index > | IndexVector |
| typedef std::vector< Element > | ElementVector |
| typedef IndexVector | PtrVector |
| typedef std::pair< Index, Index > | IndexPair |
| typedef std::pair< IndexPair, Element > | Triple |
| typedef std::vector< Triple > | Data |
| typedef MatrixCategories::BlackboxTag | MatrixCategory |
Public Member Functions | |
| CSF () | |
| ~CSF () | |
| CSF (const Field &F) | |
| CSF (Field &F, Index *rowP, Index *colP, Element *valP, Index rows, Index cols, Index nnz) | |
| CSF (MatrixStream< Field > &ms) | |
| CSF (const CSF< Field > &A) | |
| template<class OutVector, class InVector> | |
| OutVector & | apply (OutVector &y, const InVector &x) const |
| template<class OutVector, class InVector> | |
| OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
| Element & | getEntry (Element &x, Index i, Index j) |
| Element & | setEntry (Index i, Index j, Element &x) |
| void | finalize () |
| double & | d00norm (double &norm) |
| void | read (MatrixStream< Field > &ms) |
| Read the matrix from a matrix stream. | |
| size_t | rowdim () const |
| size_t | coldim () const |
| IndexVector & | getRows () |
| IndexVector & | getCols () |
| ElementVector & | getVals () |
| std::ostream & | write_summary (std::ostream &out=std::cout) const |
| std::ostream & | write_sms (std::ostream &out=std::cout) const |
| std::ostream & | write (std::ostream &out=std::cout) const |
| const Field & | field () const |
| size_t | nnz () const |
Protected Member Functions | |
| void | init (Data &d) |
Protected Attributes | |
| const Field * | _field |
| IndexVector | _inds |
| ElementVector | _vals |
| PtrVector | _ptrs |
| size_t | _rowdim |
| size_t | _coldim |
| Data | _data |
| bool | sorted |
| bool | isCSR |
Space efficient representation of sparse matrices.
Compressed Sparse Row/Column (CSR/C) involves two arrays of length NNZ (number of non-zeros) One of column indices and another of matrix values. A third array contains pointers indicating the division of the two NNZ arrays into rows. (or vice versa w/r/t rows & columns)
| typedef size_t Index |
| typedef _Field Field |
| typedef _Field::Element Element |
| typedef std::vector<Index> IndexVector |
| typedef std::vector<Element> ElementVector |
| typedef IndexVector PtrVector |
| typedef MatrixCategories::BlackboxTag MatrixCategory |
| enum csformat |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Read the matrix from a matrix stream.
| ms | Stream from which to read the matrix |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |