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

Diagonal< GF2, VectorTraits< Vector< GF2 >::Dense >::VectorCategory > Class Template Reference

Inheritance diagram for Diagonal< GF2, VectorTraits< Vector< GF2 >::Dense >::VectorCategory >:

BlackboxArchetype List of all members.

template<>
class LinBox::Diagonal< GF2, VectorTraits< Vector< GF2 >::Dense >::VectorCategory >


Public Types

typedef GF2 Field
typedef Vector< GF2 >::Dense Vector
typedef BlackboxArchetype Blackbox
typedef bool Element

Public Methods

 Diagonal (const Field &F, const BitVector &y)
const Fieldfield () const
 The field.

Blackboxclone () const
template<class OutVector, class InVector> OutVector & apply (OutVector &y, const InVector &x) const
 y := Ax, matrix-vector product.

Vectorapply (Vector &y, const Vector &x) const
template<class OutVector, class InVector> OutVector & applyTranspose (OutVector &y, const InVector &x) const
 y := xA, vector-matrix product.

size_t rowdim () const
 Returns the number of rows of the matrix.

size_t coldim () const
 Returns the number of columns of the matrix.


Member Typedef Documentation

typedef BlackboxArchetype Blackbox
 

typedef bool Element
 

typedef GF2 Field
 

typedef Vector<GF2>::Dense Vector
 


Member Function Documentation

Vector& apply Vector   y,
const Vector   x
const [inline]
 

OutVector& apply OutVector &    y,
const InVector &    x
const [inline]
 

y := Ax, matrix-vector product.

The vector x must be of size A.coldim(), where A is this blackbox. On entry to apply, the vector y must be of size A.rowdim(). Neither vector has it's size or capacity modified by apply. Apply is not responsible for the validity of the sizes, which may or may not be checked. The two vectors may not overlap in memory.

Parameters:
y  it's entries are overwritten and a reference to it is also returned to allow for use in nested expressions.
x  it's entries are the input data.

Reimplemented from BlackboxArchetype.

OutVector& applyTranspose OutVector &    y,
const InVector &    x
const [inline]
 

y := xA, vector-matrix product.

(Or from a column vector viewpoint: y := AT x, matrix transpose times vector product. )

The vector x must be of size A.rowdim(), where A is this blackbox. On entry to apply, the vector y must be of size A.coldim(). Neither vector has it's size or capacity modified by applyTranspose. ApplyTranspose is not responsible for the validity of the sizes, which may or may not be checked. The two vectors may not overlap in memory.

Parameters:
y  it's entries are overwritten and a reference to it is also returned to allow for use in nested expressions.
x  it's entries are the input data.

Reimplemented from BlackboxArchetype.

Blackbox* clone   const [inline]
 

size_t coldim   [inline]
 

Returns the number of columns of the matrix.

This may be zero or greater. Currently matrix size beyond size_t is not supported.

Reimplemented from BlackboxArchetype.

Diagonal const Field   F,
const BitVector   y
[inline]
 

const Field& field   const [inline]
 

The field.

size_t rowdim   [inline]
 

Returns the number of rows of the matrix.

This may be zero or greater. Currently matrix size beyond size_t is not supported.

Reimplemented from BlackboxArchetype.


Generated on Mon Jun 20 09:16:53 2005 for linbox by doxygen1.2.18