|
linbox
|
Blackbox for aI.
More...
#include <scalar-matrix.h>
Inherits BlackboxInterface.
Public Member Functions | |
| ScalarMatrix () | |
| Constructs an initially 0 by 0 matrix. | |
| ScalarMatrix (const Field &F, const size_t n, const Element &s) | |
| Scalar matrix Constructor from an element. More... | |
| ScalarMatrix (const Field &F, const size_t n, const typename Field::RandIter &iter) | |
| Constructor from a random element. More... | |
| template<class OutVector , class InVector > | |
| OutVector & | apply (OutVector &y, InVector &x) const |
| Application of BlackBox matrix. More... | |
| template<class OutVector , class InVector > | |
| OutVector & | applyTranspose (OutVector &y, InVector &x) const |
| Application of BlackBox matrix transpose. More... | |
Blackbox for aI.
Use particularly for representing 0 and I.
This is a class of blackbox square scalar matrices. Each scalar matrix occupies O(scalar-size) memory. The matrix itself is not stored in memory, just the scalar and the dimensions.
|
inline |
Scalar matrix Constructor from an element.
| F | field in which to do arithmetic. |
| n | size of the matrix. |
| s | scalar, a field element, to be used as the diagonal of the matrix. |
|
inline |
Constructor from a random element.
| F | field in which to do arithmetic. |
| n | size of the matrix. |
| iter | Random iterator from which to get the diagonal scalar element. |
|
inline |
Application of BlackBox matrix.
y= A*x. Requires time linear in n, the size of the matrix.
|
inline |
Application of BlackBox matrix transpose.
y= transpose(A)*x. Requires time linear in n, the size of the matrix.
1.8.6