linbox
|
vector of sparse rows. More...
#include <sparse.h>
Public Member Functions | |
SparseMatrix (const Field &F, size_t m=0, size_t n=0) | |
Constructor. | |
template<class VectStream > | |
SparseMatrix (const Field &F, VectStream &stream) | |
Constructor from a vector stream. | |
SparseMatrix (MatrixStream< Field > &ms) | |
Constructor from a MatrixStream. | |
SparseMatrix (const SparseMatrix< Field, Row > &B) | |
Copy constructor. | |
template<class VectorType > | |
SparseMatrix (const SparseMatrix< Field, VectorType > &B) | |
Row type Converter constructor. | |
~SparseMatrix () | |
Destructor. | |
template<class OutVector , class InVector > | |
OutVector & | apply (OutVector &y, const InVector &x) const |
Matrix-vector product ![]() | |
template<class OutVector , class InVector > | |
OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
Transpose matrix-vector product ![]() | |
size_t | rowdim () const |
Retreive row dimensions of Sparsemat matrix. | |
size_t | coldim () const |
Retreive column dimensions of Sparsemat matrix. | |
std::istream & | read (std::istream &is, FileFormatTag format=FORMAT_DETECT) |
Read the matrix from a stream in the given format. | |
std::ostream & | write (std::ostream &os, FileFormatTag format=FORMAT_PRETTY) const |
Write the matrix to a stream in the given format. | |
const Field & | field () const |
Access to the base field. | |
size_t | size () const |
Retreive number of elements in the matrix. | |
std::istream & | read (std::istream &is, const Field &F, FileFormatTag format=FORMAT_DETECT) |
Read a matrix from the given input stream using field read/write. | |
std::ostream & | write (std::ostream &os, const Field &F, FileFormatTag format=FORMAT_PRETTY) const |
Write a matrix to the given output stream using field read/write. | |
void | setEntry (size_t i, size_t j, const Element &value) |
Set an individual entry Setting the entry to 0 will remove it from the matrix. | |
Element & | refEntry (size_t i, size_t j) |
Get a writeable reference to an entry in the matrix If there is no entry at the position (i, j), then a new entry with a value of zero is inserted and a reference to it is returned. | |
const Element & | getEntry (size_t i, size_t j) const |
Get a read-only individual entry from the matrix. | |
Element & | getEntry (Element &x, size_t i, size_t j) const |
Get an entry and store it in the given value This form is more in the Linbox style and is provided for interface compatibility with other parts of the library. | |
Raw iterator | |
The raw iterator is a method for accessing all nonzero entries in the matrix in some unspecified order. This can be used, e.g. to reduce all matrix entries modulo a prime before passing the matrix into an algorithm. | |
Iterator | Begin () |
Begin. | |
ConstIterator | Begin () const |
const Begin. | |
Iterator | End () |
End. | |
ConstIterator | End () const |
const End | |
Columns of rows iterator | |
The columns of row iterator gives each of the rows of the matrix in ascending order. Dereferencing the iterator yields a row vector in sparse sequence format | |
typedef Rep::iterator | RowIterator |
typedef Rep::const_iterator | ConstRowIterator |
RowIterator | rowBegin () |
ConstRowIterator | rowBegin () const |
RowIterator | rowEnd () |
ConstRowIterator | rowEnd () const |
Index iterator | |
The index iterator gives the row, column indices of all matrix elements in the same order as the raw iterator above. Its value type is an STL pair with the row and column indices, starting at 0, in the first and second positions, respectively. | |
Rep | _A |
IndexedBegin. | |
size_t | _m |
IndexedBegin. | |
size_t | _n |
IndexedBegin. | |
class | SparseMatrixWriteHelper< Element, Row > |
IndexedBegin. | |
class | SparseMatrixReadWriteHelper< Element, Row > |
IndexedBegin. | |
IndexedIterator | IndexedBegin () |
IndexedBegin. | |
ConstIndexedIterator | IndexedBegin () const |
const IndexedBegin | |
IndexedIterator | IndexedEnd () |
IndexedEnd. | |
ConstIndexedIterator | IndexedEnd () const |
const IndexedEnd | |
Row & | getRow (size_t i) |
Retrieve a row as a writeable reference. | |
Row & | operator[] (size_t i) |
Retrieve a row as a writeable reference. | |
ConstRow & | operator[] (size_t i) const |
Retrieve a row as a read-only reference. | |
Vector & | columnDensity (Vector &v) const |
Compute the column density, i.e the number of entries per column. | |
SparseMatrixBase & | transpose (SparseMatrixBase &AT) const |
Construct the transpose of this matrix and place it in the matrix given. |
vector of sparse rows.
This is a generic black box for a sparse matrix. It inherits LinBox::SparseMatrixBase, which implements all of the underlying accessors and iterators.
SparseMatrix | ( | const Field & | F, |
size_t | m = 0 , |
||
size_t | n = 0 |
||
) | [inline] |
Constructor.
Builds a zero m x n matrix Note: the copy constructor and operator= will work as intended because of STL's container design
F | Field over which entries exist |
m | Row dimension |
n | Column dimension |
SparseMatrix | ( | const Field & | F, |
VectStream & | stream | ||
) | [inline] |
Constructor from a vector stream.
F | Field over which entries exist |
stream | Stream with which to generate row vectors |
SparseMatrix | ( | MatrixStream< Field > & | ms | ) | [inline] |
Constructor from a MatrixStream.
ms | A matrix stream properly initialized |
~SparseMatrix | ( | ) | [inline] |
Destructor.
OutVector& apply | ( | OutVector & | y, |
const InVector & | x | ||
) | const [inline] |
Matrix-vector product .
x | input vector |
y |
OutVector& applyTranspose | ( | OutVector & | y, |
const InVector & | x | ||
) | const [inline] |
size_t rowdim | ( | ) | const [inline] |
Retreive row dimensions of Sparsemat matrix.
Reimplemented from SparseMatrixBase< _Field::Element, _Row >.
size_t coldim | ( | ) | const [inline] |
Retreive column dimensions of Sparsemat matrix.
Reimplemented from SparseMatrixBase< _Field::Element, _Row >.
std::istream& read | ( | std::istream & | is, |
FileFormatTag | format = FORMAT_DETECT |
||
) | [inline] |
Read the matrix from a stream in the given format.
is | Input stream from which to read the matrix |
format | Format of input matrix |
Reimplemented from SparseMatrixBase< _Field::Element, _Row >.
std::ostream& write | ( | std::ostream & | os, |
FileFormatTag | format = FORMAT_PRETTY |
||
) | const [inline] |
Write the matrix to a stream in the given format.
os | Output stream to which to write the matrix |
format | Format of output |
Reimplemented from SparseMatrixBase< _Field::Element, _Row >.
size_t size | ( | ) | const [inline, inherited] |
Retreive number of elements in the matrix.
std::istream& read | ( | std::istream & | is, |
const Field & | F, | ||
FileFormatTag | format = FORMAT_DETECT |
||
) | [inherited] |
Read a matrix from the given input stream using field read/write.
is | Input stream from which to read the matrix |
F | Field with which to read |
format | Format of input matrix |
std::ostream& write | ( | std::ostream & | os, |
const Field & | F, | ||
FileFormatTag | format = FORMAT_PRETTY |
||
) | const [inherited] |
Write a matrix to the given output stream using field read/write.
os | Output stream to which to write the matrix |
F | Field with which to write |
format | Format with which to write |
void setEntry | ( | size_t | i, |
size_t | j, | ||
const Element & | value | ||
) | [inherited] |
Set an individual entry Setting the entry to 0 will remove it from the matrix.
i | Row index of entry |
j | Column index of entry |
value | Value of the new entry |
Element& refEntry | ( | size_t | i, |
size_t | j | ||
) | [inherited] |
Get a writeable reference to an entry in the matrix If there is no entry at the position (i, j), then a new entry with a value of zero is inserted and a reference to it is returned.
i | Row index of entry |
j | Column index of entry |
const Element& getEntry | ( | size_t | i, |
size_t | j | ||
) | const [inherited] |
Get a read-only individual entry from the matrix.
i | Row index |
j | Column index |
Element& getEntry | ( | Element & | x, |
size_t | i, | ||
size_t | j | ||
) | const [inherited] |
Get an entry and store it in the given value This form is more in the Linbox style and is provided for interface compatibility with other parts of the library.
x | Element in which to store result |
i | Row index |
j | Column index |
Row& getRow | ( | size_t | i | ) | [inherited] |
Retrieve a row as a writeable reference.
i | Row index |
Row& operator[] | ( | size_t | i | ) | [inherited] |
Retrieve a row as a writeable reference.
i | Row index |
ConstRow& operator[] | ( | size_t | i | ) | const [inherited] |
Retrieve a row as a read-only reference.
i | Row index |
Vector& columnDensity | ( | Vector & | v | ) | const [inherited] |
Compute the column density, i.e the number of entries per column.
v | Vector in which to store column density |
SparseMatrixBase& transpose | ( | SparseMatrixBase< _Field::Element, _Row > & | AT | ) | const [inherited] |
Construct the transpose of this matrix and place it in the matrix given.
AT |