linbox
|
Specialization of Diagonal for application to dense vectors. More...
#include <diagonal.h>
Inherits FIBB< Ring >.
Public Member Functions | |
Diagonal (const Field &F) | |
cstor ready for a read. | |
Diagonal (const Vector_t &v) | |
cstor from vector of elements. | |
Diagonal (const Field &F, const size_t n, bool nonsing=true) | |
random Diagonal matrix. More... | |
void | random () |
creates a random Diagonal matrix | |
void | randomNonsingular () |
creates a random non singular Diagonal matrix | |
const Field & | field () const |
the field of the entries | |
Element & | getEntry (Element &x, size_t i, size_t j) const |
Get an entry and store it in the given value. More... | |
const Element & | setEntry (size_t i, size_t j, const Element &x) |
(i,i) entry is set to x. More... | |
virtual ResizableMatrix & | nullspaceBasisRight (ResizableMatrix &B) const =0 |
B: columns are a right nullspace basis for this A. More... | |
virtual ResizableMatrix & | nullspaceBasisLeft (ResizableMatrix &B) const =0 |
BA= 0 and xA = 0 => exists y: x = yB and B full rank. | |
Specialization of Diagonal for application to dense vectors.
|
inline |
random Diagonal matrix.
F | the field |
n | size |
nonsing | non-singular matrix ? (no zero on diagonal ?) |
|
inline |
Get an entry and store it in the given value.
This form is more in the LinBox style and is provided for interface compatibility with other parts of the library
x | Element in which to store result |
i | Row index |
j | Column index |
|
inline |
(i,i) entry is set to x.
could throw error if j != i, but now j is ignored.
|
pure virtualinherited |
B: columns are a right nullspace basis for this A.
B is resized and filled so that: (1) AB = 0, (2) Ax = 0 => exists y: x = By, and (3) B has full rank.