linbox  1
Public Member Functions
DenseRowsMatrix< _Row > Class Template Reference

#include <dense-rows-matrix.h>

List of all members.

Public Member Functions

 DenseRowsMatrix (size_t m, size_t n)
 DenseRowsMatrix (const DenseRowsMatrix &A)
 ~DenseRowsMatrix ()
size_t rowdim () const
size_t coldim () const
Input and output
template<class Field >
std::istream & read (std::istream &is, const Field &F)
std::istream & read (std::istream &is)
template<class Field >
std::ostream & write (std::ostream &os, const Field &F) const
std::ostream & write (std::ostream &os) const
Access to matrix elements
void setEntry (size_t i, size_t j, const Element &value)
Element & refEntry (size_t i, size_t j)
const Element & getEntry (size_t i, size_t j) const
Element & getEntry (Element &x, size_t i, size_t j) const
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.

RawIterator rawBegin ()
RawIterator rawEnd ()
ConstRawIterator rawBegin () const
ConstRawIterator rawEnd () 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.

RawIndexedIterator rawIndexedBegin ()
RawIndexedIterator rawIndexedEnd ()
ConstRawIndexedIterator rawIndexedBegin () const
ConstRawIndexedIterator rawIndexedEnd () const
Row & getRow (size_t i)
DenseRowsMatrixtranspose (DenseRowsMatrix &AT) const

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 ()
RowIterator rowEnd ()
ConstRowIterator rowBegin () const
ConstRowIterator rowEnd () const

Additional Inherited Members


Detailed Description

template<class _Row>
class LinBox::DenseRowsMatrix< _Row >

Dense row-wise matrix container

This class implements a dense matrix, storing the data as a vector of vectors of the given type, in the same manner as SparseMatrixBase}. It provides only row iterators.

Parameters:
VectorRow vector type

Constructor & Destructor Documentation

DenseRowsMatrix ( size_t  m,
size_t  n 
)

Constructor. Note: the copy constructor and operator= will work as intended because of STL's container design

Parameters:
mrow dimension
ncolumn dimension
DenseRowsMatrix ( const DenseRowsMatrix< _Row > &  A)
inline

Copy constructor.

~DenseRowsMatrix ( )
inline

Destructor.


Member Function Documentation

size_t rowdim ( ) const
inline

Retreive row dimension of the matrix.

Returns:
integer number of rows of DenseRowsMatrix matrix.
size_t coldim ( ) const
inline

Retreive column dimension of matrix.

Returns:
integer number of columns of DenseRowsMatrix matrix.
std::istream& read ( std::istream &  is,
const Field F 
)

Read a matrix from the given input stream using field read/write

Parameters:
isInput stream from which to read the matrix
FField with which to read
formatFormat of input matrix
std::istream& read ( std::istream &  is)

Read a matrix from the given input stream using standard operators

Parameters:
isInput stream from which to read the matrix
formatFormat of input matrix
std::ostream& write ( std::ostream &  os,
const Field F 
) const

Write a matrix to the given output stream using field read/write

Parameters:
osOutput stream to which to write the matrix
FField with which to write
formatFormat with which to write
std::ostream& write ( std::ostream &  os) const

Write a matrix to the given output stream using standard operators

Parameters:
osOutput stream to which to write the matrix
formatFormat with which to write
void setEntry ( size_t  i,
size_t  j,
const Element &  value 
)
inline

Set an individual entry Setting the entry to 0 will remove it from the matrix

Parameters:
iRow index of entry
jColumn index of entry Value of the new entry
Element& refEntry ( size_t  i,
size_t  j 
)
inline

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.

Parameters:
iRow index of entry
jColumn index of entry
Returns:
Reference to matrix entry
const Element& getEntry ( size_t  i,
size_t  j 
) const
inline

Get a read-only individual entry from the matrix

Parameters:
iRow index
jColumn index
Returns:
Const reference to matrix entry
Element& getEntry ( Element &  x,
size_t  i,
size_t  j 
) const
inline

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

Parameters:
xElement in which to store result
iRow index
jColumn index
Returns:
Reference to x
Row& getRow ( size_t  i)
inline

Retrieve a row as a writeable reference

Parameters:
iRow index
DenseRowsMatrix& transpose ( DenseRowsMatrix< _Row > &  AT) const

Construct the transpose of this matrix and place it in the DenseRowsMatrix given


The documentation for this class was generated from the following file: