Main Page Modules Namespace List Class Hierarchy Compound List File List Namespace Members Compound Members File Members Related Pages
Inverse Class Template Reference
[linbox/blackbox]
#include <inverse.h>
Inheritance diagram for Inverse:
List of all members.
Detailed Description
template<class Blackbox>
class LinBox::Inverse< Blackbox >
A Blackbox for the inverse. Not efficient if many applications are used.
The matrix itself is not stored in memory. Rather, its apply methods use a vector of field elements, which are used to "multiply" the matrix to a vector.
This class has three template parameters. The first is the field in which the arithmetic is to be done. The second is the type of \Ref{LinBox} vector to which to apply the matrix. The third is chosen be default to be the \Ref{LinBox} vector trait of the vector. This class is then specialized for dense and sparse vectors.
- Parameters:
-
Field |
\Ref{LinBox} field |
Vector |
\Ref{LinBox} dense or sparse vector of field elements |
Trait |
Marker whether to use dense or sparse LinBox vector implementation. This is chosen by a default parameter and partial template specialization. |
|
Public Types |
typedef Blackbox::Field | Field |
typedef Field::Element | Element |
typedef std::vector< Element > | Polynomial |
Public Methods |
| Inverse (const Blackbox *BB) |
| Inverse (const Inverse &BB) |
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 Field & | field () const |
Member Typedef Documentation
typedef Field::Element Element
|
|
typedef Blackbox::Field Field
|
|
typedef std::vector<Element> Polynomial
|
|
Constructor & Destructor Documentation
Inverse |
( |
const Blackbox * |
BB |
) |
[inline] |
|
|
Constructor from field and dense vector of field elements. - Parameters:
-
__BB |
Black box of which to get the inverse |
|
Inverse |
( |
const Inverse< Blackbox > & |
BB |
) |
[inline] |
|
|
Copy constructor, so that we don't have to recompute the minimal polynomial every time this black box is used inside another black box |
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:
-
y |
reference to vector into which to store the result |
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 |
( |
|
) |
const [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
1.2.18