|
Public Types |
| typedef _LastInvariantFactor | LastInvariantFactor |
| typedef _Ring | Ring |
| typedef _Compose | Compose |
| typedef _RandomMatrix | RandomMatrix |
| typedef Ring::Element | Integer |
Public Methods |
| | OneInvariantFactor (const Ring &_r=Ring(), const LastInvariantFactor &_lif=LastInvariantFactor(), const Compose &_compose=Compose(), const RandomMatrix &_randomMatrix=RandomMatrix(), int _threshold=DEFAULTOIFTHRESHOLD) |
| void | setThreshold (int _threshold) |
| int | getThreshold () const |
| void | setCrossover (double t) |
| double | getCrossover () const |
| LastInvariantFactor & | getLastInvariantFactor () |
| const LastInvariantFactor & | getLastInvariantFactor () const |
| template<class IMatrix, class Vector> Integer & | oneInvariantFactor (Integer &oif, const IMatrix &A, int i, Vector &PrimeL) const |
| | Compute the i-th invariant factor of A, ignoring those factors of prime in PrimeL list. It implements EGV++ (by bds), the adaptive algorithm of EGV and EGV+.
|
| template<class IMatrix> Integer & | oneInvariantFactor (Integer &oif, const IMatrix &A, int i) const |
| | Compute the i-th invariant factor of A. It implements the adaptive algorithm of EGV and EGV+.
|
| template<class IMatrix, class Vector> Integer & | oneInvariantFactor_Bonus (Integer &oif, Integer &bonus, const IMatrix &A, int i, Vector &PrimeL) const |
| | Compute the i-th invariant factor of A with bonus, ignoring those factors of prime in PrimeL list. It implements EGV++ (by bds), the adaptive algorithm of EGV and EGV+.
|
| template<class IMatrix> Integer & | oneInvariantFactor_Bonus (Integer &oif, Integer &bonus, const IMatrix &A, int i) const |
| | Compute the i-th invariant factor of A. It implements the adaptive algorithm of EGV and EGV+.
|
Protected Attributes |
| Ring | r |
| LastInvariantFactor | lif |
| Compose | compose |
| RandomMatrix | randomMatrix |
| int | threshold |
| double | crossover |