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