linbox
|
Matrix transpose. More...
#include <transpose-matrix.h>
Public Member Functions | |
TransposeMatrix (Matrix &A) | |
Constructor. More... | |
TransposeMatrix (const TransposeMatrix &Mat) | |
Copy constructor. | |
size_t | rowdim () const |
Get the number of rows in the matrix. More... | |
size_t | coldim () const |
Get the number of columns in the matrix. More... | |
Matrix I/O | |
std::ostream & | write (std::ostream &stream) const |
Write a matrix to an output stream. More... | |
Access to matrix elements | |
const Element & | setEntry (size_t i, size_t j, const Element &a_ij) |
Set the entry at the (i, j) position to a_ij. More... | |
Element & | refEntry (size_t i, size_t j) |
Get a writeable reference to the entry in the (i, j) position. More... | |
const Element & | getEntry (size_t i, size_t j) const |
Get a read-only reference to the entry in the (i, j) position. More... | |
Element & | getEntry (Element &x, size_t i, size_t j) const |
Copy the (i, j) entry into x, and return a reference to x. More... | |
Column of rows iterator | |
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 |
Row of columns iterator | |
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 |
Raw iterator | |
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 |
Raw Indexed iterator. | |
Like the raw iterator, the indexed iterator is a method for accessing all entries in the matrix in some unspecified order. At each position of the the indexed iterator, it also provides the row and column indices of the currently referenced entry. This is provided through it's rowIndex() and colIndex() functions. | |
IndexedIterator | IndexedBegin () |
IndexedIterator | IndexedEnd () |
ConstIndexedIterator | IndexedBegin () const |
ConstIndexedIterator | IndexedEnd () const |
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.
|
inline |
Constructor.
A | Underlying matrix of which to construct the transpose |
|
inline |
Get the number of rows in the matrix.
|
inline |
Get the number of columns in the matrix.
|
inline |
Write a matrix to an output stream.
stream | Stream to which to write the matrix |
|
inline |
Set the entry at the (i, j) position to a_ij.
i | Row number, 0...rowdim () - 1 |
j | Column number 0...coldim () - 1 |
a_ij | Element to set |
|
inline |
Get a writeable reference to the entry in the (i, j) position.
i | Row index of entry |
j | Column index of entry |
|
inline |
Get a read-only reference to the entry in the (i, j) position.
i | Row index |
j | Column index |
|
inline |
Copy the (i, j) entry into x, and return a reference to x.
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 |