Kaltofen's division-free determinant algorithm differentiated for matrix adjoint computation

Kaltofen has proposed a new approach in Kaltofen (1992) for computing matrix determinants without divisions. The algorithm is based on a baby steps/giant steps construction of Krylov subspaces, and computes the determinant as the constant term of the characteristic polynomial. For matrices over an abstract ring, by the results of Baur and Strassen (1983), the determinant algorithm, actually a straight-line program, leads to an algorithm with the same complexity for computing the adjoint of a matrix. However, the latter adjoint algorithm is obtained by the reverse mode of automatic differentiation, and hence is in some way not ''explicit''. We present an alternative (still closely related) algorithm for obtaining the adjoint that can be implemented directly, without resorting to an automatic transformation. The algorithm is deduced partly by applying program differentiation techniques ''by hand'' to Kaltofen's method, and is completely described. As a subproblem, we study the differentiation of the computation of minimum polynomials of linearly generated sequences, and we use a lazy polynomial evaluation mechanism for reducing the cost of Strassen's avoidance of divisions in our case.

[1]  Erich Kaltofen,et al.  On computing determinants of matrices without divisions , 1992, ISSAC '92.

[2]  Claude-Pierre Jeannerod,et al.  Asymptotically fast polynomial matrix algorithms for multivariable systems , 2005, ArXiv.

[3]  George Labahn,et al.  The Inverses of Block Hankel and Block Toeplitz Matrices , 1990, SIAM J. Comput..

[4]  Erich Kaltofen,et al.  On Wiedemann's Method of Solving Sparse Linear Systems , 1991, AAECC.

[5]  Gilles Villard,et al.  Faster inversion and other black box matrix computations using efficient block projections , 2007, ISSAC '07.

[6]  Wayne Eberly Processor-efficient parallel matrix inversion over abstract fields: two extensions , 1997, PASCO '97.

[7]  Arne Storjohann,et al.  High-order lifting and integrality certification , 2003, J. Symb. Comput..

[8]  Georges Le Vey,et al.  La Differentiation automatique de fonctions representees par des programmes , 1991 .

[9]  MorgensternJacques How to compute fast a function and all its derivatives , 1985 .

[10]  Kyriakos Kalorkoti ALGEBRAIC COMPLEXITY THEORY (Grundlehren der Mathematischen Wissenschaften 315) , 1999 .

[11]  B. D. Saunders,et al.  Efficient matrix preconditioners for black box linear algebra , 2002 .

[12]  Malte Sieveking An algorithm for division of powerseries , 2005, Computing.

[13]  Gilles Villard,et al.  On computing the determinant and Smith form of an integer matrix , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

[14]  K. Ramachandra,et al.  Vermeidung von Divisionen. , 1973 .

[15]  H. T. Kung On computing reciprocals of power series , 1974 .

[16]  Paul Walton Purdom,et al.  The Analysis of Algorithms , 1995 .

[17]  Erich Kaltofen,et al.  Challenges of Symbolic Computation: My Favorite Open Problems , 2000, J. Symb. Comput..

[18]  Arne Storjohann,et al.  The shifted number system for fast linear algebra on integer matrices , 2005, J. Complex..

[19]  Sartaj Sahni,et al.  Analysis of algorithms , 2000, Random Struct. Algorithms.

[20]  S. Linnainmaa Taylor expansion of the accumulated rounding error , 1976 .

[21]  Arnold Schönhage,et al.  Schnelle Berechnung von Kettenbruchentwicklungen , 1971, Acta Informatica.

[22]  Victor Y. Pan,et al.  Processor efficient parallel solution of linear systems over an abstract field , 1991, SPAA '91.

[23]  J. Morgenstern,et al.  How to compute fast a function and all its derivatives: a variation on the theorem of Baur-strassen , 1985, SIGA.

[24]  Allan Borodin,et al.  The computational complexity of algebraic and numeric problems , 1975, Elsevier computer science library.

[25]  David Y. Y. Yun,et al.  Fast Solution of Toeplitz Systems of Equations and Computation of Padé Approximants , 1980, J. Algorithms.

[26]  Volker Strassen,et al.  Algebraic Complexity Theory , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[27]  Erich Kaltofen,et al.  On fast multiplication of polynomials over arbitrary algebras , 1991, Acta Informatica.

[28]  Michael Clausen,et al.  Algebraic complexity theory , 1997, Grundlehren der mathematischen Wissenschaften.

[29]  Joachim von zur Gathen,et al.  Modern Computer Algebra , 1998 .

[30]  Victor Y. Pan,et al.  Fast rectangular matrix multiplications and improving parallel matrix computations , 1997, PASCO '97.

[31]  Douglas H. Wiedemann Solving sparse linear equations over finite fields , 1986, IEEE Trans. Inf. Theory.

[32]  Erich Kaltofen,et al.  On the complexity of computing determinants , 2001, computational complexity.

[33]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[34]  R. Gregory Taylor,et al.  Modern computer algebra , 2002, SIGA.

[35]  Walter Keller-Gehrig,et al.  Fast Algorithms for the Characteristic Polynomial , 1985, Theor. Comput. Sci..

[36]  Éric Schost,et al.  Tellegen's principle into practice , 2003, ISSAC '03.

[37]  Robert T. Moenck,et al.  Fast computation of GCDs , 1973, STOC.