#include <hilbert.h>
Inheritance diagram for Hilbert:
This is a class of n by n Hilbert matrices templatized by the field in which the elements reside. The class conforms to the archetype for BlackBox Matrices}.
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 defualt to be the LinBox} vector trait of the vector. This class is then specialized for dense and sparse vectors.
The default class is not implemented. It's functions should never be called because partial template specialization should always be done on the vector traits.
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. |
Public Member Functions | |
Hilbert (Field F, size_t n) | |
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 |
|
Constructor from integer and field.
|
|
Application of BlackBox matrix. y= A*x. Requires one vector conforming to the LinBox} vector archetype. Required by abstract base class.
|
|
Application of BlackBox matrix transpose. y= transpose (A)*x. Requires one vector conforming to the LinBox} vector archetype. Required by abstract base class. Because the Hilbert matrix is symmetric, this is the same as calling the apply function.
|
|
Retreive row dimensions of BlackBox matrix. This may be needed for applying preconditioners. Required by abstract base class.
|
|
Retreive column dimensions of BlackBox matrix. Required by abstract base class.
|