|
linbox
|
#include <fibb.h>
Inheritance diagram for FIBB< Ring >:Public Types | |
| using | Field = Ring |
| using | Element = typename Ring::Element |
| using | ResizableMatrix = DenseMatrix<Field> |
| using | Matrix = DenseMatrix<Field> |
Public Member Functions | |
| virtual | ~FIBB () |
| virtual size_t & | rank (size_t &r) const =0 |
| virtual Element & | det (Element &d) const =0 |
| virtual Matrix & | solveRight (Matrix &Y, const Matrix &X) const =0 |
| Y: AY = X, for this A. | |
| virtual Matrix & | solveLeft (Matrix &Y, const Matrix &X) const =0 |
| Y: YA = X, for this A. | |
| virtual Matrix & | nullspaceRandomRight (Matrix &N) const =0 |
| N: AN = 0, each col random. | |
| virtual Matrix & | nullspaceRandomLeft (Matrix &N) const =0 |
| N: NA = 0, each row random. | |
| virtual ResizableMatrix & | nullspaceBasisRight (ResizableMatrix &B) const =0 |
| B: columns are a right nullspace basis for this A. | |
| virtual ResizableMatrix & | nullspaceBasisLeft (ResizableMatrix &B) const =0 |
| BA= 0 and xA = 0 => exists y: x = yB and B full rank. | |
| virtual BBType | bbTag () const =0 |
| virtual size_t | rowdim () const =0 |
| virtual size_t | coldim () const =0 |
| virtual const Field & | field () const =0 |
| virtual std::ostream & | write (std::ostream &os) const =0 |
| virtual std::istream & | read (std::istream &os)=0 |
| virtual Matrix & | applyLeft (Matrix &Y, const Matrix &X) const =0 |
| virtual Matrix & | applyRight (Matrix &Y, const Matrix &X) const =0 |
| template<class OutVector, class InVector> | |
| OutVector & | apply (OutVector &y, const InVector &x) const |
| template<class OutVector, class InVector> | |
| OutVector & | applyTranspose (OutVector &y, const InVector &x) const |
| template<typename BB2> | |
| void | map (BB2 &A) |
| using ResizableMatrix = DenseMatrix<Field> |
| using Matrix = DenseMatrix<Field> |
|
pure virtual |
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< _Field, _Matrix >, Permutation< _Tp1 >, Permutation< _Tp1 >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
|
pure virtual |
Y: AY = X, for this A.
Solve nonsingular or consistent singular system. If it is consistent singular, an arbitrary solution is provided. X and Y must have identical shape.
Note that Y+Z is a random sample of the solution space after {solveRight(Y, X); nullspaceRandomRight(Z);}.
Behaviour is unspecified for inconsistent systems (see solveMP).
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
Y: YA = X, for this A.
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
N: AN = 0, each col random.
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
N: NA = 0, each row random.
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
|
pure virtual |
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.
Implemented in Permutation< Field >, and Permutation< Field >.
|
pure virtual |
BA= 0 and xA = 0 => exists y: x = yB and B full rank.
Implemented in Permutation< Field >, and Permutation< Field >.
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< _Field, _Matrix >, Permutation< _Tp1 >, Permutation< _Tp1 >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
|
pure virtualinherited |
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< _Field, _Matrix >, Permutation< _Tp1 >, Permutation< _Tp1 >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
|
pure virtualinherited |
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< _Field, _Matrix >, Permutation< _Tp1 >, Permutation< _Tp1 >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< _Field, _Matrix >, Permutation< _Tp1 >, Permutation< _Tp1 >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
|
pure virtualinherited |
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< _Field, _Matrix >, Permutation< _Tp1 >, Permutation< _Tp1 >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
|
pure virtualinherited |
Implemented in FIBBProduct< Field_ >, FIBBProduct< Field >, FIBBProduct< Field >, Permutation< _Field, _Matrix >, Permutation< _Tp1 >, Permutation< _Tp1 >, Permutation< Field >, Permutation< Field >, TriangularFIBB< Field_ >, TriangularFIBB< _Tp1 >, TriangularFIBB< _Tp1 >, TriangularFIBB< Field >, and TriangularFIBB< Field >.
|
inlineinherited |
|
inlineinherited |