|
| | TransposeMatrix (Matrix &A) |
| | Constructor.
|
| |
| | TransposeMatrix (const TransposeMatrix &Mat) |
| | Copy constructor.
|
| |
| const Field & | field () const |
| | Get the field of the matrix.
|
| |
| size_t | rowdim () const |
| | Get the number of rows in the matrix.
|
| |
| size_t | coldim () const |
| | Get the number of columns in the matrix.
|
| |
|
| std::ostream & | write (std::ostream &stream) const |
| | Write a matrix to an output stream.
|
| |
|
| void | setEntry (size_t i, size_t j, const Element &a_ij) |
| | Set the entry at the (i, j) position to a_ij.
|
| |
| Element & | refEntry (size_t i, size_t j) |
| | Get a writeable reference to the entry in the (i, j) position.
|
| |
| const Element & | getEntry (size_t i, size_t j) const |
| | Get a read-only reference to the entry in the (i, j) position.
|
| |
| Element & | getEntry (Element &x, size_t i, size_t j) const |
| | Copy the (i, j) entry into x, and return a reference to x.
|
| |
|
The column of rows iterator traverses the rows of the matrix in ascending order.
Dereferencing the iterator yields a row vector in dense format
|
| RowIterator | rowBegin () |
| |
| RowIterator | rowEnd () |
| |
| ConstRowIterator | rowBegin () const |
| |
| ConstRowIterator | rowEnd () const |
| |
|
The row of columns iterator traverses the columns of the matrix in ascending order.
Dereferencing the iterator yields a column vector in dense format
|
| ColIterator | colBegin () |
| |
| ColIterator | colEnd () |
| |
| ConstColIterator | colBegin () const |
| |
| ConstColIterator | colEnd () const |
| |
|
The raw iterator is a method for accessing all 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 () |
| |
| Iterator | End () |
| |
| ConstIterator | Begin () const |
| |
| ConstIterator | End () const |
| |
template<class
Matrix, class Trait = typename MatrixTraits<Matrix>::MatrixCategory>
class LinBox::TransposeMatrix< Matrix, Trait >
Matrix transpose.
This class takes a matrix meeting the BlasMatrix archetype and switches the row and column iterators, giving the transpose of the original matrix. It is generic with respect to the matrix given.
If the matrix given has limited iterators, then its transpose will have limited iterators as well. In particular, if the matrix given has only row iterators, then the transpose object will have only column iterators, and vice versa.
This class differs from Transpose in that it constructs a full matrix representation, with row and/or column iterators. It does not include any logic for matrix-vector products, and does not meet the BlackboxArchetype interface. Nor does it make such assumptions about the matrix given.
This class gives a constant matrix as output. It provides no iterators for modification of the data in the matrix.
The input/output functionality of this class passes requests directly through to the underlying matrix. In particular, the output will be the transpose of the matrix expected and the input will expect the transpose of the matrix given. Thus, it is not recommended to use TransposeMatrix for reading and writing matrices, except for testing purposes.