Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

DenseSubmatrix Class Template Reference
[linbox/matrix]

#include <dense-submatrix.h>

Inheritance diagram for DenseSubmatrix:

Submatrix< DenseMatrix< _Field >, VectorCategories::DenseVectorTag > List of all members.

Detailed Description

template<class _Element>
class LinBox::DenseSubmatrix< _Element >

Submatrix of a dense matrix

This matrix type conforms to the same interface as DenseMatrixBase}, except that you cannot resize it. It represents a submatrix of a dense matrix. Upon construction, one can freely manipulate the entries in the DenseSubmatrix, and the corresponding entries in the underlying DenseMatrixBase will be modified.


Public Types

typedef DenseMatrixBase< Element
>::RowIterator 
RowIterator
typedef DenseMatrixBase< Element
>::ColIterator 
ColIterator

Public Member Functions

 DenseSubmatrix (DenseMatrixBase< Element > &M, size_t row, size_t col, size_t rowdim, size_t coldim)
 DenseSubmatrix (DenseMatrixBase< Element > &M)
 DenseSubmatrix (const DenseSubmatrix< Element > &SM, size_t row, size_t col, size_t rowdim, size_t coldim)
 DenseSubmatrix (const DenseSubmatrix< Element > &SM)
DenseSubmatrixoperator= (const DenseSubmatrix< Element > &SM)
size_t rowdim () const
size_t coldim () const
template<class Field> std::istream & read (std::istream &file, const Field &field)
template<class Field> std::ostream & write (std::ostream &os, const Field &field, bool mapleFormat=false) const
void setEntry (size_t i, size_t j, const Element &a_ij)
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)

Protected Attributes

DenseMatrixBase< Element > * _M


Member Typedef Documentation

typedef DenseMatrixBase<Element>::RowIterator RowIterator
 

The row iterator gives the rows of the matrix in ascending order. Dereferencing the iterator yields a row vector in dense format

typedef DenseMatrixBase<Element>::ColIterator ColIterator
 

The columns iterator gives the columns of the matrix in ascending order. Dereferencing the iterator yields a column vector in dense format


Constructor & Destructor Documentation

DenseSubmatrix DenseMatrixBase< Element > &  M,
size_t  row,
size_t  col,
size_t  rowdim,
size_t  coldim
 

Constructor from an existing DenseMatrixBase} and dimensions

Parameters:
M Pointer to DenseMatrixBase} of which to construct submatrix
row Starting row
col Starting column
rowdim Row dimension
coldim Column dimension

DenseSubmatrix DenseMatrixBase< Element > &  M  ) 
 

Constructor from an existing DenseMatrixBase}

Parameters:
M Pointer to DenseMatrixBase} of which to construct submatrix

DenseSubmatrix const DenseSubmatrix< Element > &  SM,
size_t  row,
size_t  col,
size_t  rowdim,
size_t  coldim
 

Constructor from an existing submatrix and dimensions

Parameters:
SM Constant reference to DenseSubmatrix from which to construct submatrix
row Starting row
col Starting column
rowdim Row dimension
coldim Column dimension

DenseSubmatrix const DenseSubmatrix< Element > &  SM  ) 
 

Copy constructor

Parameters:
_M Submatrix to copy


Member Function Documentation

DenseSubmatrix& operator= const DenseSubmatrix< Element > &  SM  ) 
 

Assignment operator Assign the given submatrix to this one

Parameters:
_M Submatrix to assign
Returns:
Reference to this submatrix

size_t rowdim  )  const [inline]
 

Get the number of rows in the matrix

Returns:
Number of rows in matrix

size_t coldim  )  const [inline]
 

Get the number of columns in the matrix

Returns:
Number of columns in matrix

std::istream& read std::istream &  file,
const Field &  field
 

Read the matrix from an input stream

Parameters:
file Input stream from which to read
field 

std::ostream& write std::ostream &  os,
const Field &  field,
bool  mapleFormat = false
const
 

Write the matrix to an output stream

Parameters:
os Output stream to which to write
field 

void setEntry size_t  i,
size_t  j,
const Element &  a_ij
[inline]
 

Set the entry at (i, j)

Parameters:
i Row number, 0...rowdim () - 1
j Column number 0...coldim () - 1
a_ij Element to set

Element& refEntry size_t  i,
size_t  j
[inline]
 

Get a writeable reference to an entry in the matrix

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
[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


Member Data Documentation

DenseMatrixBase<Element>* _M [protected]
 

Retrieve a reference to a row

Parameters:
i Row index


The documentation for this class was generated from the following file:
Generated on Thu Feb 8 22:33:05 2007 for linbox by doxygen 1.3.4