Re: Smith Normal Form Algorithm

*To*: mathgroup at smc.vnet.net*Subject*: [mg2680] Re: Smith Normal Form Algorithm*From*: crstover at aol.com (CRStover)*Date*: Tue, 5 Dec 1995 02:26:51 -0500*Organization*: America Online, Inc. (1-800-827-6364)

Dear Mr. Chung, WRI's ftp archive, (mathsource at wri.com, also accessible via the Web), contains two independent implementations of the Smith normal form algorithm that I know of. One is part of the LatticeTheory.m package, which I think is found under "applications/mathematics/pure" as 0204-556. The other is filed under "enhancements/linear algebra" as 0207-470. Both of these packages use a conceptually straightforward algorithm that is prone to spectacular numerical blowup, especially when asked to provide det 1 integer matrices that will transform the original matrix to the Smith form. (Note: the transformation matrices are far from unique, contrary to the implication in LatticeTheory.m.) If this blowup becomes a problem for you, I can send you a package I have written that diagonalizes integer matrices (most of the work of finding the Smith form) in a way that controls the blowup and frequently produces much smaller transformation matrices. Cheers, Chris Stover crstover at aol.com