linbox  1
Public Member Functions | Protected Member Functions
SmithFormBinary< _Ring, _oneInvariantFactor, _Rank > Class Template Reference

Compute Smith form. More...

#include <smith-form-binary.h>

List of all members.

Public Member Functions

 SmithFormBinary (const oneInvariantFactor &_oif=oneInvariantFactor(), const Rank &_rank=Rank(), const Ring &_r=Ring(), int _oifthreshold=DEFAULTOIFTHRESHOLD, int _lifthreshold=DEFAULTLIFTHRESHOLD)
 constructor
template<class IMatrix , class Vector , class VectorP >
Vector & smithForm (Vector &sf, const IMatrix &A, const VectorP &PrimeL) const
 compute the Smith Form of an integer matrix, ignoring these factors of primes in PrimeL
template<class IMatrix , class Vector >
Vector & smithFormBinary (Vector &sf, const IMatrix &A) const
 compute the Smith Form of an integer matrix
template<class IMatrix , class Vector , class VectorP >
Vector & smithFormBackward (Vector &sf, const IMatrix &A, const VectorP &PrimeL) const
 compute the Smith Form of an integer matrix, ignoring these factors of primes in PrimeL Using backward search descibed by B. D. Saunders.
template<class IMatrix , class Vector >
Vector & smithFormBackward (Vector &sf, const IMatrix &A) const
 compute the Smith Form of an integer matrix Using backward binary search.

Protected Member Functions

template<class IMatrix , class Vector >
Integer & firstInvariantFactor (Integer &fif, const IMatrix &A, const Vector &PrimeL) const
 compute the 1st invariant factor, = GCD (all element in A), missing these factors of primes in PrimeL
template<class IMatrix , class Vector , class VectorP >
Vector & smithFormBinarySearch (Vector &sf, const IMatrix &A, int i, int j, const VectorP &PrimeL) const
 Binary search invariant factors between i and j, missing those factors in PrimeL suppose sf[i - 1], sf [j - 1] are ith and jth invariant factor of A i <= j.
template<class IMatrix , class Vector , class VectorP >
Vector & smithFormBinarySearchBackward (Vector &sf, const IMatrix &A, int i, int j, int depth, const VectorP &PrimeL) const
 Binary search invariant factors between i and j, missing those factors in PrimeL suppose sf[i - 1], sf [j - 1] are ith and jth invariant factor of A i <= j.

Detailed Description

template<class _Ring, class _oneInvariantFactor, class _Rank>
class LinBox::SmithFormBinary< _Ring, _oneInvariantFactor, _Rank >

Compute Smith form.

This is an implementation of EGV and EGV+ algorithms See EGV (FOCS '00) and SW (ISSAC '04) papers.


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