The main purpose of the EDIM package is to publish an implementation of
an algorithm (found by the package author) for computing prime parts of
the elementary divisors of integer matrices (i.e., the diagonal entries
of the Smith normal form).
The programs are developed and already successfully used for large
matrices (up to rank >12000) with moderate entries and many non-trivial
elementary divisors which are products of some small primes. But they
should be useful for other types of matrices as well.
Among the other functions of the package are:
- an inversion algorithm for large rational matrices (using a p-adic
method)
- a program for finding the largest elementary divisor of an integral
matrix (particularly interesting when this is much smaller than the
determinant) and
- implementations of some normal form algorithms described by Havas,
Majewski, Matthews, Sterling (using LLL- or modular techniques).