linbox
OneInvariantFactor< _Ring, _LastInvariantFactor, _Compose, _RandomMatrix > Class Template Reference

Limited doc so far. More...

#include <one-invariant-factor.h>

Public Types

typedef _LastInvariantFactor LastInvariantFactor
 
typedef _Ring Ring
 
typedef _Compose Compose
 
typedef _RandomMatrix RandomMatrix
 
typedef Ring::Element Integer
 

Public Member Functions

 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
 
LastInvariantFactorgetLastInvariantFactor ()
 
const LastInvariantFactorgetLastInvariantFactor () const
 
template<class IMatrix, class Vector>
IntegeroneInvariantFactor (Integer &oif, const IMatrix &A, int i, Vector &PrimeL)
 Compute the i-th invariant factor of A, ignoring those factors of prime in PrimeL list.
 
template<class IMatrix>
IntegeroneInvariantFactor (Integer &oif, const IMatrix &A, int i)
 Compute the i-th invariant factor of A.
 
template<class IMatrix, class Vector>
IntegeroneInvariantFactor_Bonus (Integer &oif, Integer &bonus, const IMatrix &A, int i, Vector &PrimeL)
 Compute the i-th invariant factor of A with bonus, ignoring those factors of prime in PrimeL list.
 
template<class IMatrix>
IntegeroneInvariantFactor_Bonus (Integer &oif, Integer &bonus, const IMatrix &A, int i)
 Compute the i-th invariant factor of A.
 

Protected Attributes

Ring r
 
LastInvariantFactor lif
 
Compose compose
 
RandomMatrix randomMatrix
 
int threshold
 
double crossover
 

Detailed Description

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
class LinBox::OneInvariantFactor< _Ring, _LastInvariantFactor, _Compose, _RandomMatrix >

Limited doc so far.

Member Typedef Documentation

◆ LastInvariantFactor

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
typedef _LastInvariantFactor LastInvariantFactor

◆ Ring

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
typedef _Ring Ring

◆ Compose

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
typedef _Compose Compose

◆ RandomMatrix

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
typedef _RandomMatrix RandomMatrix

◆ Integer

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
typedef Ring::Element Integer

Constructor & Destructor Documentation

◆ OneInvariantFactor()

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
OneInvariantFactor ( const Ring & _r = Ring(),
const LastInvariantFactor & _lif = LastInvariantFactor(),
const Compose & _compose = Compose(),
const RandomMatrix & _randomMatrix = RandomMatrix(),
int _threshold = DEFAULTOIFTHRESHOLD )
inline

Member Function Documentation

◆ setThreshold()

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
void setThreshold ( int _threshold)
inline

◆ getThreshold()

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
int getThreshold ( ) const
inline

◆ setCrossover()

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
void setCrossover ( double t)
inline

◆ getCrossover()

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
double getCrossover ( ) const
inline

◆ getLastInvariantFactor() [1/2]

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
LastInvariantFactor & getLastInvariantFactor ( )
inline

◆ getLastInvariantFactor() [2/2]

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
const LastInvariantFactor & getLastInvariantFactor ( ) const
inline

◆ oneInvariantFactor() [1/2]

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
template<class IMatrix, class Vector>
Integer & oneInvariantFactor ( Integer & oif,
const IMatrix & A,
int i,
Vector & PrimeL )
inline

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

◆ oneInvariantFactor() [2/2]

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
template<class IMatrix>
Integer & oneInvariantFactor ( Integer & oif,
const IMatrix & A,
int i )
inline

Compute the i-th invariant factor of A.

It implements the adaptive algorithm of EGV and EGV+.

◆ oneInvariantFactor_Bonus() [1/2]

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
template<class IMatrix, class Vector>
Integer & oneInvariantFactor_Bonus ( Integer & oif,
Integer & bonus,
const IMatrix & A,
int i,
Vector & PrimeL )
inline

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

◆ oneInvariantFactor_Bonus() [2/2]

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
template<class IMatrix>
Integer & oneInvariantFactor_Bonus ( Integer & oif,
Integer & bonus,
const IMatrix & A,
int i )
inline

Compute the i-th invariant factor of A.

It implements the adaptive algorithm of EGV and EGV+.

Field Documentation

◆ r

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
Ring r
protected

◆ lif

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
LastInvariantFactor lif
protected

◆ compose

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
Compose compose
protected

◆ randomMatrix

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
RandomMatrix randomMatrix
protected

◆ threshold

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
int threshold
protected

◆ crossover

template<class _Ring, class _LastInvariantFactor, class _Compose, class _RandomMatrix>
double crossover
protected

The documentation for this class was generated from the following file: