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

MoorePenrose Class Template Reference
[linbox/blackbox]

#include <moore-penrose.h>

Inheritance diagram for MoorePenrose:

BlackboxInterface List of all members.

Detailed Description

template<class Blackbox>
class LinBox::MoorePenrose< Blackbox >

Generalized inverse of a blackbox. Efficiency concerns when many applications are used.

Given an arbitrary matrix in black box representation, this black box represents the Moore-Penrose inverse of the matrix.

This implementation assumes that A already has a nonsingular principal r x r minor. It is the caller's responsibility to ensure that that condition holds.


Public Types

typedef Blackbox::Field Field
typedef Blackbox::Element Element

Public Methods

 MoorePenrose (const Blackbox *A, size_t rank)
 MoorePenrose (const MoorePenrose &A)
virtual ~MoorePenrose ()
template<class OutVector, class InVector> OutVector & apply (OutVector &y, const InVector &x) const
template<class OutVector, class InVector> OutVector & applyTranspose (OutVector &y, const InVector &x) const
size_t rowdim (void) const
size_t coldim (void) const
const Fieldfield ()


Member Typedef Documentation

typedef Blackbox::Element Element
 

typedef Blackbox::Field Field
 


Constructor & Destructor Documentation

MoorePenrose const Blackbox   A,
size_t    rank
[inline]
 

Constructor from field and dense vector of field elements.

Parameters:
BB  Black box from which to extract the submatrix
row  First row of the submatrix to extract (1.._BB->rowdim ())
col  First column of the submatrix to extract (1.._BB->coldim ())
rowdim  Row dimension
coldim  Column dimension

MoorePenrose const MoorePenrose< Blackbox > &    A [inline]
 

Copy constructor

virtual ~MoorePenrose   [inline, virtual]
 

Destructor


Member Function Documentation

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

Application of BlackBox matrix. y= A*x. Requires one vector conforming to the \Ref{LinBox} vector archetype. Required by abstract base class.

Returns:
reference to vector y containing output.
Parameters:
x  constant reference to vector to contain input

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

Application of BlackBox matrix transpose. y= transpose(A)*x. Requires one vector conforming to the \Ref{LinBox} vector archetype. Required by abstract base class.

Returns:
reference to vector y containing output.
Parameters:
x  constant reference to vector to contain input

size_t coldim void    const [inline]
 

Retreive _column dimensions of BlackBox matrix. Required by abstract base class.

Returns:
integer number of _columns of black box matrix.

const Field& field   [inline]
 

size_t rowdim void    const [inline]
 

Retreive _row dimensions of BlackBox matrix. This may be needed for applying preconditioners. Required by abstract base class.

Returns:
integer number of _rows of black box matrix.


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