#include <dense.h>
Inheritance diagram for DenseMatrix:
This is a class of dense matrices templatized by the field in which the elements reside. The matrix is stored as a one dimensional STL vector of the elements, in row major order. The interface provides for iteration over rows and over columns.
The class conforms to the archetype for blackboxes and for the dense matrix container.
Currently, only dense vectors are supported when doing matrix-vector applies.
_Field | a LinBox field class |
Public Types | |
typedef _Field | Field |
typedef Field::Element | Element |
typedef DenseMatrix< _Field > | Self_t |
Public Methods | |
DenseMatrix (const Field &F) | |
DenseMatrix (const Field &F, size_t m, size_t n) | |
template<class RandIter> | DenseMatrix (const Field &F, size_t m, size_t n, const RandIter &iter) |
template<class StreamVector> | DenseMatrix (const Field &F, VectorStream< StreamVector > &stream) |
DenseMatrix (const Field &F, DenseMatrixBase< Element > &M) | |
DenseMatrix (const DenseMatrix &M) | |
Copies {\it all} matrix data. | |
DenseMatrix< Field > & | operator= (const DenseMatrix< Field > &M) |
size_t | rowdim () const |
size_t | coldim () const |
const Field & | field () const |
std::istream & | read (std::istream &is) |
std::ostream & | write (std::ostream &os=std::cout) const |
template<class Vect1, class Vect2> Vect1 & | apply (Vect1 &y, const Vect2 &x) const |
template<class Vect1> Vect1 & | applyIn (Vect1 &y) const |
template<class Vect1, class Vect2> Vect1 & | applyTranspose (Vect1 &y, const Vect2 &x) const |
template<class Vect> Vect & | applyTransposeIn (Vect &y) const |
~DenseMatrix () | |
Protected Attributes | |
const Field | _F |
MatrixDomain< Field > | _MD |
TransposeMatrix< DenseMatrix< Field > > | _AT |
|
Reimplemented from DenseMatrixBase< _Field::Element >. |
|
|
|
Reimplemented from DenseMatrixBase< _Field::Element >. |
|
|
|
Constructor of a m by n matrix with initial entries which are the default constructor value of the field's element type.
|
|
Constructor of a m by n matrix with entries created by a random iterator.
|
|
Constructor using a finite vector stream (stream of the rows).
|
|
Constructor from a DenseMatrixBase. Copies all matrix data.
|
|
Copies {\it all} matrix data.
|
|
|
|
Generic matrix-vector apply y = A * x. This version of apply allows use of arbitrary input and output vector types.
|
|
Generic in-place apply y = A * y. This version of in-place apply allows use of an arbitrary vector type. Because it performs allocation and copying, it is not recommended for general use.
|
|
Generic matrix-vector transpose apply y = A^T * x This version of applyTranspose allows use of arbitrary input and output vector types
|
|
Generic in-place transpose apply y = A^T * y This version of in-place transpose apply allows use of an arbitrary vector type. Because it performs allocation and copying, it is not recommended for general use.
|
|
Get the number of columns in the matrix
Reimplemented from DenseMatrixBase< _Field::Element >. |
|
Retrieve the field over which this matrix is defined
|
|
Assignment operator makes a complete copy. |
|
Read the matrix from an input stream
|
|
Get the number of rows in the matrix
Reimplemented from DenseMatrixBase< _Field::Element >. |
|
Write the matrix to an output stream
|
|
|
|
|
|
|