linbox
1
|
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>
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 |
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.
Inverse | ( | const Blackbox * | BB | ) | [inline] |
Constructor from field and dense vector of field elements.
__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
OutVector& apply | ( | OutVector & | y, |
const InVector & | x | ||
) | const [inline] |
OutVector& applyTranspose | ( | OutVector & | y, |
const InVector & | x | ||
) | 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.
size_t coldim | ( | void | ) | const [inline] |
Retreive column dimensions of BlackBox matrix. Required by abstract base class.