A Las Vegas randomized algorithm is given to compute the Smith multipliers for a nonsingular integer matrix $A$, that is, unimodular matrices $U$ and $V$ such that $AV=US$, with $S$ the Smith normal form of $A$. The expected running time of the algorithm is about the same as required to multiply together two matrices of the same dimension and size of entries as $A$. Explicit bounds are given for the size of the entries in both unimodular multipliers. The main tool used by the algorithm is the Smith massager, a relaxed version of $V$, the unimodular matrix specifying the column operations of the Smith computation. From the perspective of efficiency, the main tools used are fast linear solving and partial linearization of integer matrices. As an application of the Smith with multipliers algorithm, a fast algorithm is given to find the fractional part of the inverse of the input matrix.
翻译:拉斯维加斯随机算法用于计算非单向整数矩阵的Smith乘数(A$),即单向矩阵值为1美元和1美元,即美元=1美元,Smith正常格式为1美元。预期的算法运行时间与将两个尺寸和大小与$A相仿的矩阵值相乘所需的时间大致相同。给出了单向倍数两个条目大小的清晰界限。该算法使用的主要工具是Smith 按摩器,一个轻松的版本为$V$,一个单向矩阵值指定史密斯计算列的操作。从效率角度看,使用的主要工具是快速线性解算法和整形矩阵的部分线性化。作为Smith与倍数算法的运用,一个快速算法可以找到输入矩阵反的分数部分。