Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

DenseRowsMatrix Class Template Reference

#include <dense-rows-matrix.h>


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:
Vector Row vector type


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

Public Types

typedef _Row Row
typedef Row::value_type Element
typedef std::vector< RowRep

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)
ElementrefEntry (size_t i, size_t j)
const ElementgetEntry (size_t i, size_t j) const
ElementgetEntry (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
RowgetRow (size_t i)
DenseRowsMatrixtranspose (DenseRowsMatrix &AT) const

Protected Attributes

Rep _A
size_t _m
size_t _n

Friends

class SparseMatrixWriteHelper< Element, Row >
class SparseMatrixReadWriteHelper< Element, Row >


Member Typedef Documentation

typedef _Row Row
 

typedef Row::value_type Element
 

typedef std::vector<Row> Rep
 

typedef Rep::iterator RowIterator
 

typedef Rep::const_iterator ConstRowIterator
 


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:
m row dimension
n column 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:
is Input stream from which to read the matrix
F Field with which to read
format Format of input matrix

std::istream& read std::istream &  is  ) 
 

Read a matrix from the given input stream using standard operators

Parameters:
is Input stream from which to read the matrix
format Format 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:
os Output stream to which to write the matrix
F Field with which to write
format Format with which to write

std::ostream& write std::ostream &  os  )  const
 

Write a matrix to the given output stream using standard operators

Parameters:
os Output stream to which to write the matrix
format Format 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:
i Row index of entry
j Column 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:
i Row index of entry
j Column 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:
i Row index
j Column 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:
x Element in which to store result
i Row index
j Column index
Returns:
Reference to x

RowIterator rowBegin  )  [inline]
 

RowIterator rowEnd  )  [inline]
 

ConstRowIterator rowBegin  )  const [inline]
 

ConstRowIterator rowEnd  )  const [inline]
 

RawIterator rawBegin  ) 
 

RawIterator rawEnd  ) 
 

ConstRawIterator rawBegin  )  const
 

ConstRawIterator rawEnd  )  const
 

RawIndexedIterator rawIndexedBegin  ) 
 

RawIndexedIterator rawIndexedEnd  ) 
 

ConstRawIndexedIterator rawIndexedBegin  )  const
 

ConstRawIndexedIterator rawIndexedEnd  )  const
 

Row& getRow size_t  i  )  [inline]
 

Retrieve a row as a writeable reference

Parameters:
i Row index

DenseRowsMatrix& transpose DenseRowsMatrix< _Row > &  AT  )  const
 

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


Friends And Related Function Documentation

friend class SparseMatrixWriteHelper< Element, Row > [friend]
 

friend class SparseMatrixReadWriteHelper< Element, Row > [friend]
 


Field Documentation

Rep _A [protected]
 

size_t _m [protected]
 

size_t _n [protected]
 


Generated on Fri Jul 8 10:29:54 2005 for linbox by doxygen 1.3.7