The asymptotically fastest algorithms for many linear algebra problems on integer matrices, including solving a system of linear equations and computing the determinant, use high-order lifting. For a square nonsingular integer matrix A, high-order lifting computes B congruent to A^{-1} mod X^k and matrix R with AB = I + RX^k for non-negative integers X and k. Here, we present a deterministic method -- "double-plus-one" lifting -- to compute the high-order residue R as well as a succinct representation of B. As an application, we give a fully deterministic algorithm to certify the unimodularity of A. The cost of the algorithm is O((log n) n^{omega} M(log n + log ||A||)) bit operations, where ||A|| denotes the largest entry in absolute value, M(t) the cost of multiplying two integers bounded in bit length by t, and omega the exponent of matrix multiplication.
Unimodularity certification is then applied to give a heuristic, but certified, algorithm for computing the determinant and Hermite normal form of a square, nonsingular integer matrix. Though most effective on random matrices, a highly optimized implementation of the latter algorithm demonstrates the techniques' effectiveness across a variety of inputs: empirical running times grow as O(n^3log n). A comparison against the fastest known Hermite normal algorithms -- those available in Sage and Magma -- show our implementation is, in all cases, highly competitive, and often surpasses existing, state-of-the-art implementations.
Identifer | oai:union.ndltd.org:WATERLOO/oai:uwspace.uwaterloo.ca:10012/7895 |
Date | January 2013 |
Creators | Pauderis, Colton |
Source Sets | University of Waterloo Electronic Theses Repository |
Language | English |
Detected Language | English |
Type | Thesis or Dissertation |
Page generated in 0.0015 seconds