linbox
|
Compute Smith form. More...
#include <smith-form-binary.h>
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. More... | |
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[(size_t)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[(size_t)i - 1], sf [j - 1] are ith and jth invariant factor of A i <= j. | |
Compute Smith form.
This is an implementation of EGV and EGV+ algorithms See EGV (FOCS '00) and SW (ISSAC '04) papers.
compute the Smith Form of an integer matrix, ignoring these factors of primes in PrimeL Using backward search descibed by B.
D. Saunders.