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 |
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.