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