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