|
linbox
|
#include <frobenius-small.h>
Public Types | |
| typedef _Field | Field |
| typedef Field::Element | Element |
| typedef Field::RandIter | RandIter |
| typedef BlasMatrixDomain< Field > | MatrixDom |
| typedef MatrixDom::OwnMatrix | Matrix |
| typedef SparseMatrix< Field, SparseMatrixFormat::CSR > | Blackbox |
| typedef BlasVector< Field > | Vector |
| typedef _PolynomialRing | PolynomialRing |
| typedef PolynomialRing::Element | Polynomial |
| typedef PolynomialRing::Coeff | Coeff |
Public Member Functions | |
| FrobeniusSmall (const Field &F, const PolynomialRing &R) | |
| void | frobeniusInvariants (std::vector< Polynomial > &fs, const Blackbox &A, size_t limit) |
| fs is the leading invariant factors of A in nonincreasing order by degree. | |
| void | solve (std::vector< Polynomial > &fs, const Blackbox &A, size_t limit) |
Protected Member Functions | |
| void | convert (Vector &p, const Polynomial &f) |
| void | copy (Vector &a, const Vector &b) |
| template<class Blackbox1> | |
| void | apply (Vector &v, const Polynomial &f, const Blackbox1 &A, const Vector &vin) |
| template<class Blackbox1> | |
| bool | test (const Polynomial &fk, const Blackbox1 &A, const Vector &v) |
| size_t | trialbound () const |
| void | randomVector (Vector &v) const |
| void | randomVec (Vector &u, const std::vector< std::vector< Vector > > &basis_us, const std::vector< std::vector< Vector > > &basis_vs) |
| template<class Blackbox1> | |
| void | minpolyseq (Polynomial &f, const Vector &u, const Blackbox1 &A, const Vector &v) const |
| template<class Blackbox1> | |
| void | minpolyvec (Polynomial &f, const Blackbox1 &A, const Vector &v) |
| void | filterp (Polynomial &h, const Polynomial &f, const Polynomial &g) |
| void | filterv (Vector &u, Vector &v, Polynomial &f, const Blackbox &A, const Vector &uin, const Vector &vin) |
| void | mergev (Vector &u, Vector &v, Polynomial &f, const Blackbox &A, const Vector &u1, const Vector &v1, const Polynomial &f1, const Vector &u2, const Vector &v2, const Polynomial &f2) |
| void | minpolspace (Vector &u, Vector &v, Polynomial &f, const Blackbox &A, const std::vector< Vector > &us, const std::vector< Vector > &vs) |
| void | dualbasis (std::vector< Vector > &basis_u, std::vector< Vector > &basis_v, const Vector &u, const Blackbox &A, const Vector &v, size_t k) |
Protected Attributes | |
| Field | _F |
| RandIter | _RI |
| PolynomialRing | _R |
| MatrixDom | _MD |
| VectorDomain< Field > | _VD |
| typedef _Field Field |
| typedef Field::Element Element |
| typedef Field::RandIter RandIter |
| typedef BlasMatrixDomain<Field> MatrixDom |
| typedef MatrixDom::OwnMatrix Matrix |
| typedef SparseMatrix<Field, SparseMatrixFormat::CSR> Blackbox |
| typedef BlasVector<Field> Vector |
| typedef _PolynomialRing PolynomialRing |
| typedef PolynomialRing::Element Polynomial |
| typedef PolynomialRing::Coeff Coeff |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
fs is the leading invariant factors of A in nonincreasing order by degree.
If limit is positive, only the leading limit invariants are obtained.
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |