An output-sensitive variant of the baby steps/giant steps determinant algorithm

  • Authors:
  • Erich Kaltofen

  • Affiliations:
  • North Carolina State University, Raleigh, North Carolina

  • Venue:
  • Proceedings of the 2002 international symposium on Symbolic and algebraic computation
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the first half of 2000, two new algorithms were discovered for the efficient computation of the determinant of a (dense) matrix with integer entries. Suppose that the dimension of the matrix is n x n and that the maximum bit length of all entries is b. The algorithm by [10] requires (n3.5b2.5)1+o(1) fixed precision, that is, bit operations. Here and in the following we use the exponent "+o(1)" to capture missing polylogarithmic factors O((log n)C1(log b)C2), where C1, C2 are constants ("soft-O"). As it has turned out an algorithm in [15], which in turn is based on one by [31] and which uses the baby steps/giant steps algorithm design technique, can be adapted to the dense integer matrix determinant problem and then has bit complexity (n3.5b)1+o(1) [20, Section 2]. Both algorithms use randomization and the algorithm in [10] is Monte Carlo--always fast and probably correct--and the one in [20] is Las Vegas--always correct and probably fast. Both algorithms can be speeded by asymptotically fast subcubic matrix multiplication algorithms à la Strassen [8, 7, 14]. By blocking [6, 16, 29, 30] the baby steps/giant steps algorithm can be further improved, which yields the currently fastest known algorithms [20, Section 3] of bit complexity (n3+1/3b)1+o(1), that without subcubic matrix multiplication and without the FFT-based polynomial "half" GCD procedures à la Knuth [23; 2, Chapter 8], and of bit complexity n2.698b1+o(1) with subcubic matrix multiplication and FFT-based polynomial GCD procedures.