Sparse matrix, Coordinate storage.
More...
#include <sparse-ell-matrix.h>
|
| | SparseMatrix (const _Field &F) |
| | Constructors. More...
|
| |
| template<class VectStream > |
| | SparseMatrix (const _Field &F, VectStream &stream) |
| |
| template<class _OtherStorage > |
| | SparseMatrix (const SparseMatrix< _Field, _OtherStorage > &S) |
| | Default converter. More...
|
| |
| void | importe (const SparseMatrix< _Field, SparseMatrixFormat::CSR > &S) |
| | Conversions. More...
|
| |
| void | importe (const SparseMatrix< _Field, SparseMatrixFormat::ELL > &S) |
| | Import a matrix in CSR format to CSR. More...
|
| |
| SparseMatrix< _Field, SparseMatrixFormat::CSR > & | exporte (SparseMatrix< _Field, SparseMatrixFormat::CSR > &S) const |
| | Export a matrix in CSR format from COO. More...
|
| |
| void | transposeIn () |
| | In place transpose. More...
|
| |
| Self_t & | transpose (Self_t &S) const |
| | Transpose the matrix. More...
|
| |
| size_t | rowdim () const |
| | number of rows. More...
|
| |
| size_t | coldim () const |
| | number of columns. More...
|
| |
| size_t | size () const |
| | Number of non zero elements in the matrix. More...
|
| |
| constElement & | getEntry (const size_t &i, const size_t &j) const |
| | Get a read-only individual entry from the matrix. More...
|
| |
|
void | finalize () |
| | make matrix ready to use after a sequence of setEntry calls.
|
| |
| const Element & | setEntry (const size_t &i, const size_t &j, const Element &e) |
| | Set an individual entry. More...
|
| |
| std::ostream & | write (std::ostream &os, Tag::FileFormat format=Tag::FileFormat::MatrixMarket) const |
| | Write a matrix to the given output stream using field read/write. More...
|
| |
| std::istream & | read (std::istream &is, Tag::FileFormat format=Tag::FileFormat::Detect) |
| | Read a matrix from the given input stream using field read/write. More...
|
| |
| bool | consistent () const |
| |
|
|
size_t | _maxc |
| | longest row
|
| |
|
std::vector< size_t > | _colid |
| | _colid is _rownb x _maxc in RowMajor
|
| |
|
std::vector< Element > | _data |
| | _data is _rownb x _maxc in RowMajor
|
| |
template<class _Field>
class LinBox::SparseMatrix< _Field, SparseMatrixFormat::ELL >
Sparse matrix, Coordinate storage.
◆ Row
- Warning
- this is not the row type. Just used for streams.
◆ SparseMatrix() [1/3]
| SparseMatrix |
( |
const _Field & |
F | ) |
|
|
inline |
Constructors.
- Todo:
- convert from other matrix.
◆ SparseMatrix() [2/3]
| SparseMatrix |
( |
const _Field & |
F, |
|
|
VectStream & |
stream |
|
) |
| |
|
inline |
◆ SparseMatrix() [3/3]
| SparseMatrix |
( |
const SparseMatrix< _Field, _OtherStorage > & |
S | ) |
|
|
inline |
Default converter.
- Parameters
-
| S | a sparse matrix in any storage. |
◆ importe() [1/2]
Conversions.
Any sparse matrix has a converter to/from CSR. A specialisation can skip the temporary CSR matrix created.
Import a matrix in COO format to CSR.
- Parameters
-
| S | COO matrix to be converted in CSR |
◆ importe() [2/2]
Import a matrix in CSR format to CSR.
- Parameters
-
| S | CSR matrix to be converted in CSR |
◆ exporte()
Export a matrix in CSR format from COO.
- Parameters
-
| S | CSR matrix to be converted from COO |
◆ transposeIn()
In place transpose.
Not quite...
◆ transpose()
Transpose the matrix.
- Parameters
-
| S | [out] transpose of self. |
- Returns
- a reference to
S.
◆ rowdim()
| size_t rowdim |
( |
void |
| ) |
const |
|
inline |
number of rows.
- Returns
- row dimension.
◆ coldim()
| size_t coldim |
( |
void |
| ) |
const |
|
inline |
number of columns.
- Returns
- column dimension
◆ size()
Number of non zero elements in the matrix.
or at least the size of the _data if
- Returns
- size of the _data.
◆ getEntry()
| constElement& getEntry |
( |
const size_t & |
i, |
|
|
const size_t & |
j |
|
) |
| const |
|
inline |
Get a read-only individual entry from the matrix.
- Parameters
-
| i | Row _colid |
| j | Column _colid |
- Returns
- Const reference to matrix entry
◆ setEntry()
| const Element& setEntry |
( |
const size_t & |
i, |
|
|
const size_t & |
j, |
|
|
const Element & |
e |
|
) |
| |
|
inline |
Set an individual entry.
Setting the entry to 0 will not remove it from the matrix
- Parameters
-
| i | Row _colid of entry |
| j | Column _colid of entry |
| value | Value of the new entry |
- Todo:
- make it faster if i is 0 or m-1 ?
- Warning
- if this is used to build a matrix and this matrix is "well formed", it can be sped up (no checking that the entry already exists).
◆ write()
| std::ostream& write |
( |
std::ostream & |
os, |
|
|
Tag::FileFormat |
format = Tag::FileFormat::MatrixMarket |
|
) |
| const |
|
inline |
Write a matrix to the given output stream using field read/write.
- Parameters
-
| os | Output stream to which to write the matrix |
| format | Format with which to write |
◆ read()
| std::istream& read |
( |
std::istream & |
is, |
|
|
Tag::FileFormat |
format = Tag::FileFormat::Detect |
|
) |
| |
|
inline |
Read a matrix from the given input stream using field read/write.
- Parameters
-
| is | Input stream from which to read the matrix |
| format | Format of input matrix |
- Returns
- ref to
is.
◆ consistent()
| bool consistent |
( |
| ) |
const |
|
inline |
- Todo:
- Non element marker.
We could end up a line with a marker. A field F would contain an element that does not belong to it. eg a nan for a Givaro::Modular<double>. It could act as a marker.
The documentation for this class was generated from the following file: