linbox
|
Blackbox for aI
.
More...
#include <scalar-matrix.h>
Inherits BlackboxInterface.
Public Member Functions | |
ScalarMatrix () | |
Constructs an initially 0 by 0 matrix. More... | |
ScalarMatrix (const Field &F) | |
Constructor of readable scalar matrix. 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 |
Constructs an initially 0 by 0 matrix.
|
inline |
Constructor of readable scalar matrix.
F | field in which to do arithmetic. |
|
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.