Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
473282 | Computers & Mathematics with Applications | 2011 | 22 Pages |
Hensel’s symbolic lifting is a highly effective method for the solution of a general or structured (e.g. Toeplitz or Hankel) linear system of equations with integer or rational coefficients of bounded length. It can handle ill conditioned inputs, for which numerical methods become costly. Lifting amounts to recursive multiplications by vectors of the input coefficient matrices and its precomputed inverse modulo a fixed integer ss. Such multiplications only involve small numbers of data movements and arithmetic operations with bounded precision. The known methods for precomputation of the inverse are more costly, however; in particular they involve more data movements. As our remedy for this bottleneck stage we create an auxiliary matrix sharing its inverse modulo ss with the input matrix, and we readily compute this inverse by applying numerical iterative refinement, which is a numerical counterpart of lifting. In the case of general unstructured as well as Toeplitz, Hankel, and other popular structured inputs our hybrid algorithms involve a small number of data movements and optimal number of Boolean (that is bitwise) operations (up to a logarithmic factor). We extend the algorithms to nearly optimal computation of polynomial greatest common divisors (gcds), least common multiples (lcms) and Padé approximations, as well as the Berlekamp–Massey reconstruction of linear recurrences. We also cover Newton’s lifting for matrix inversion, specialize it to the case of structured input, and combine it with Hensel’s to enhance the overall efficiency. Our initialization techniques work for Newton’s lifting as well. Furthermore we extend all our lifting algorithms to allow their initialization modulo powers of two, thus implementing them in the binary base.