|
| | SmithFormBinary (const Ring &_r=Ring(), const oneInvariantFactor &_oif=oneInvariantFactor(), int _oifthreshold=DEFAULTOIFTHRESHOLD, int _lifthreshold=DEFAULTLIFTHRESHOLD) |
| | constructor
|
| |
| void | setOIFThreshold (int _oifthreshold=DEFAULTOIFTHRESHOLD) |
| |
| void | setLIFThreshold (int _lifthreshold=DEFAULTLIFTHRESHOLD) |
| |
| int | getOIFThreshold () const |
| |
| int | getLIFThreshold () const |
| |
| template<class IMatrix, class Vector, class VectorP> |
| Vector & | smithForm (Vector &sf, const IMatrix &A, const VectorP &PrimeL) |
| | 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) |
| | 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) |
| | compute the Smith Form of an integer matrix, ignoring these factors of primes in PrimeL Using backward search descibed by B.
|
| |
| template<class IMatrix, class Vector> |
| Vector & | smithFormBackward (Vector &sf, const IMatrix &A) |
| | compute the Smith Form of an integer matrix Using backward binary search.
|
| |
|
| template<class IMatrix, class Vector> |
| Integer & | firstInvariantFactor (Integer &fif, const IMatrix &A, const Vector &PrimeL) |
| | 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) |
| | 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) |
| | 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 _Ring, class _oneInvariantFactor>
class LinBox::SmithFormBinary< _Ring, _oneInvariantFactor >
Compute Smith form.
This is an implementation of EGV and EGV+ algorithms See EGV (FOCS '00) and SW (ISSAC '04) papers.