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