|
| | Inverse (const Blackbox *BB) |
| | Constructor from field and dense vector of field elements.
|
| |
| | Inverse (const Inverse &BB) |
| | Copy constructor, so that we don't have to recompute the minimal polynomial every time this black box is used inside another black box.
|
| |
| template<class OutVector, class InVector> |
| OutVector & | apply (OutVector &y, const InVector &x) const |
| | Application of BlackBox matrix.
|
| |
| template<class OutVector, class InVector> |
| OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
| | Application of BlackBox matrix transpose.
|
| |
| size_t | rowdim (void) const |
| | Retreive row dimensions of BlackBox matrix.
|
| |
| size_t | coldim (void) const |
| | Retreive column dimensions of BlackBox matrix.
|
| |
| const Field & | field () const |
| |
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. |