Polynomial Algorithms for Computing the Smith and Hermite Normal Forms of an Integer Matrix
Authors:
- Ravindran KannanRKRavindran Kannan
- Achim BachemABAchim Bachem
- 1 November 1979
- journal article
- Published by Society for Industrial & Applied Mathematics (SIAM) in SIAM Journal on Computing
- Vol. 8 (4) , 499-507
Abstract
Recently, Frumkin [9] pointed out that none of the well-known algorithms that transform an integer matrix into Smith [16] or Hermite [12] normal form is known to be polynomially bounded in its running time. In fact, Blankinship [3] noticed—as an empirical fact—that intermediate numbers may become quite large during standard calculations of these canonical forms. Here we present new algorithms in which both the number of algebraic operations and the number of (binary) digits of all intermediate numbers are bounded by polynomials in the length of the input data (assumed to be encoded in binary). These algorithms also find the multiplier-matrices K, $U'$ and $K'$ such that $AK$ and $U'AK'$ are the Hermite and Smith normal forms of the given matrix A. This provides the first proof that multipliers with small enough entries exist.
Keywords
This publication has 13 references indexed in Scilit:
- Polynomial Time Algorithms in the Theory of Linear Diophantine EquationsLecture Notes in Computer Science, 1977
- Part I-Smith form and common divisor of polynomial matricesInternational Journal of Systems Science, 1974
- Computational experience with a group theoretic integer programming algorithmMathematical Programming, 1973
- Algorithms for Hermite and Smith normal matrices and linear Diophantine equationsMathematics of Computation, 1971
- Algorithm and bound for the greatest common divisor of n integersCommunications of the ACM, 1970
- Systems of distinct representatives and linear algebraJournal of Research of the National Bureau of Standards Section B Mathematics and Mathematical Physics, 1967
- Algorithm 288: solution of simultaneous linear Diophantine equations [F4]Communications of the ACM, 1966
- Algorithm 287: matrix triangulation with integer arithmetic [F1]Communications of the ACM, 1966
- A New Version of the Euclidean AlgorithThe American Mathematical Monthly, 1963
- Sur l'introduction des variables continues dans la théorie des nombres.Journal für die reine und angewandte Mathematik (Crelles Journal), 1851