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.
More...
#include <inverse.h>
List of all members.
Public Member Functions |
| 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 |
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 LinBox} vector to which to apply the matrix. The third is chosen be default to be the LinBox} vector trait of the vector. This class is then specialized for dense and sparse vectors.
- Parameters:
-
Field | LinBox} field |
Vector | 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. |
Constructor & Destructor Documentation
Constructor from field and dense vector of field elements.
- Parameters:
-
__BB | Black box of which to get the inverse |
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 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 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 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.
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.
The documentation for this class was generated from the following file:
- /build/linbox-TzW5I9/linbox-1.1.6~rc0/linbox/blackbox/inverse.h