linbox
1
|
Blackbox for aI
. Use particularly for representing 0
and I
.
More...
#include <scalar-matrix.h>
Public Member Functions | |
ScalarMatrix () | |
Constructs an initially 0 by 0 matrix. | |
ScalarMatrix (const Field &F, const size_t n, const Element &s) | |
ScalarMatrix (const Field &F, const size_t n, const typename Field::RandIter &iter) | |
template<class OutVector , class InVector > | |
OutVector & | apply (OutVector &y, InVector &x) const |
template<class OutVector , class InVector > | |
OutVector & | applyTranspose (OutVector &y, InVector &x) const |
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.
ScalarMatrix | ( | const Field & | F, |
const size_t | n, | ||
const Element & | s | ||
) | [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. |
ScalarMatrix | ( | const Field & | F, |
const size_t | n, | ||
const typename Field::RandIter & | iter | ||
) | [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. |
OutVector& apply | ( | OutVector & | y, |
InVector & | x | ||
) | const [inline] |
Application of BlackBox matrix. y= A*x. Requires time linear in n, the size of the matrix.
OutVector& applyTranspose | ( | OutVector & | y, |
InVector & | x | ||
) | const [inline] |
Application of BlackBox matrix transpose. y= transpose(A)*x. Requires time linear in n, the size of the matrix.