linbox
Public Member Functions | Protected Member Functions
SmithFormBinary Class Reference

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

Compute Smith form.

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


Member Function Documentation

Vector& smithFormBackward ( Vector &  sf,
const IMatrix &  A,
const VectorP &  PrimeL 
) const [inline]

compute the Smith Form of an integer matrix, ignoring these factors of primes in PrimeL Using backward search descibed by B.

D. Saunders.


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