Toward high-performance polynomial system solvers based on triangular decompositions

This thesis is devoted to the design and implementation of polynomial system solvers based on symbolic computation. Solving systems of non-linear, algebraic or differential equations, is a fundamental problem in mathematical sciences. It has been studied for centuries and still stimulates many research developments, in particular on the front of high-performance computing. Triangular decompositions are a highly promising technique with the potential to produce high-performance polynomial system solvers. This thesis makes several contributions to this effort. We propose asymptotically fast algorithms for the core operations on which triangular decompositions rely. Complexity results and comparative implementation show that these new algorithms provide substantial performance improvements. We present a fundamental software library for polynomial arithmetic in order to support the implementation of high-performance solvers based on triangular decompositions. We investigate strategies for the integration of this library in high-level programming environments where triangular decompositions are usually implemented. We obtain a high performance library combining highly optimized C routines and solving procedures written in the Maple computer algebra system. The experimental result shows that our approaches are very effective, since our code often outperforms pre-existing solvers in a significant manner.

[1]  Marc Moreno Maza,et al.  Lifting techniques for triangular decompositions , 2005, ISSAC.

[2]  John J. Cannon,et al.  The Magma Algebra System I: The User Language , 1997, J. Symb. Comput..

[3]  M. M. Maza On Triangular Decompositions of Algebraic Varieties , 2000 .

[4]  Matteo Frigo,et al.  An analysis of dag-consistent distributed shared-memory algorithms , 1996, SPAA '96.

[5]  Tommy Färnqvist Number Theory Meets Cache Locality – Efficient Implementation of a Small Prime FFT for the GNU Multiple Precision Arithmetic Library , 2005 .

[6]  George E. Collins,et al.  The Calculation of Multivariate Polynomial Resultants , 1971, JACM.

[7]  Marc Moreno Maza,et al.  On the complexity of the D5 principle , 2005, SIGS.

[8]  Marc Moreno Maza,et al.  Polynomial Gcd Computations over Towers of Algebraic Extensions , 1995, AAECC.

[9]  Marc Moreno Maza,et al.  The modpn library: bringing fast polynomial arithmetic into MAPLE , 2009, ACCA.

[10]  L. Ducos Effectivité en théorie de Galois - sous-résultants , 1997 .

[11]  Anatolij A. Karatsuba,et al.  Multiplication of Multidigit Numbers on Automata , 1963 .

[12]  Joris van der Hoeven The truncated fourier transform and applications , 2004, ISSAC '04.

[13]  Victor Shoup,et al.  A New Polynomial Factorization Algorithm and its Implementation , 1995, J. Symb. Comput..

[14]  Marc Moreno Maza,et al.  Efficient Implementation of Polynomial Arithmetic in a Multiple-Level Programming Environment , 2006, ICMS.

[15]  Changbo Chen,et al.  Comprehensive Triangular Decomposition , 2007, CASC.

[16]  Marc Moreno Maza,et al.  On the Virtues of Generic Programming for Symbolic Computation , 2007, International Conference on Computational Science.

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

[18]  Lionel Ducos Optimizations of the subresultant algorithm , 2000 .

[19]  Grazia Lotti,et al.  Approximate Solutions for the Bilinear Form Computational Problem , 1980, SIAM J. Comput..

[20]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[21]  Daniel Lazard,et al.  A new method for solving algebraic systems of positive dimension , 1991, Discret. Appl. Math..

[22]  Jeremy R. Johnson,et al.  High-performance implementations of the Descartes method , 2006, ISSAC '06.

[23]  Victor Y. Pan Simple Multivariate Polynomial Multiplication , 1994, J. Symb. Comput..

[24]  Maria Grazia Marinari,et al.  The shape of the Shape Lemma , 1994, ISSAC '94.

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

[26]  Robert T. Moenck,et al.  Practical fast polynomial multiplication , 1976, SYMSAC '76.

[27]  Marc Moreno Maza,et al.  Implementation techniques for fast polynomial arithmetic in a high-level programming environment , 2006, ISSAC '06.

[28]  Michael Kalkbrener,et al.  A Generalized Euclidean Algorithm for Computing Triangular Representations of Algebraic Varieties , 1993, J. Symb. Comput..

[29]  Wenjun Wu A zero structure theorem for polynomial-equations-solving and its applications , 1987, EUROCAL.

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

[31]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[32]  J. Ritt,et al.  Differential Equations from the Algebraic Standpoint , 1933, Nature.

[33]  Palaiseau Cedex,et al.  Computing Parametric Geometric Resolutions , 2001 .

[34]  Éric Schost,et al.  Multivariate power series multiplication , 2005, ISSAC.

[35]  Grazia Lotti,et al.  O(n2.7799) Complexity for n*n Approximate Matrix Multiplication , 1979, Inf. Process. Lett..

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

[37]  Jeremy R. Johnson,et al.  Architecture-aware classical Taylor shift by 1 , 2005, ISSAC.

[38]  Michael Francis Atiyah,et al.  Introduction to commutative algebra , 1969 .

[39]  Dario Bini Relations between exact and approximate bilinear algorithms. Applications , 1980 .

[40]  Peter Deuflhard,et al.  Numerische Mathematik. I , 2002 .

[41]  Mark van Hoeij,et al.  A modular GCD algorithm over number fields presented with multiple extensions , 2002, ISSAC '02.

[42]  David H. Bailey,et al.  Using Strassen's algorithm to accelerate the solution of linear systems , 1991, The Journal of Supercomputing.

[43]  Lars Langemyr Algorithms for a Multiple Algebraic Extension II , 1991, AAECC.

[44]  Laureano González-Vega,et al.  Spécialisation de la suite de Sturm et sous-résulants , 1990, RAIRO Theor. Informatics Appl..

[45]  Akimasa Morihata,et al.  Automatic inversion generates divide-and-conquer parallel programs , 2007, PLDI '07.

[46]  Marc Moreno Maza,et al.  Fast arithmetic for triangular sets: from theory to practice , 2007, ISSAC '07.

[47]  M'hammed El Kahoui,et al.  An elementary approach to subresultants theory , 2003, J. Symb. Comput..

[48]  Éric Schost,et al.  On the complexities of multipoint evaluation and interpolation , 2004, Theor. Comput. Sci..

[49]  V. Strassen Gaussian elimination is not optimal , 1969 .

[50]  Dominique Duval,et al.  About a New Method for Computing in Algebraic Number Fields , 1985, European Conference on Computer Algebra.

[51]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[52]  Bud Mishra,et al.  Algorithmic Algebra , 1993, Texts and Monographs in Computer Science.

[53]  J. Tukey,et al.  An algorithm for the machine calculation of complex Fourier series , 1965 .

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

[55]  Arnold Schönhage,et al.  Schnelle Multiplikation von Polynomen über Körpern der Charakteristik 2 , 1977, Acta Informatica.

[56]  Marc Moreno Maza,et al.  Computations modulo regular chains , 2009, ISSAC '09.

[57]  Yang Lu Searching dependency between algebraic equations: an algorithm applied to automated reasoning , 1994 .

[58]  T. Gomez-Diaz Quelques applications de l'évaluation dynamique , 1994 .

[59]  Keith O. Geddes,et al.  Algorithms for computer algebra , 1992 .

[60]  Guillaume Hanrot,et al.  The Middle Product Algorithm I , 2004, Applicable Algebra in Engineering, Communication and Computing.

[61]  Daniel Lazard,et al.  Solving Zero-Dimensional Algebraic Systems , 1992, J. Symb. Comput..

[62]  Franz Franchetti,et al.  SPIRAL: Code Generation for DSP Transforms , 2005, Proceedings of the IEEE.

[63]  Chee-Keng Yap,et al.  Fundamental problems of algorithmic algebra , 1999 .

[64]  Daniel Lazard,et al.  Resolution des Systemes d'Equations Algebriques , 1981, Theor. Comput. Sci..

[65]  Marc Moreno Maza,et al.  Multithreaded parallel implementation of arithmetic operations modulo a triangular set , 2007, PASCO '07.

[66]  R. Brent Algorithms for matrix multiplication , 1970 .

[67]  Jean-Guillaume Dumas,et al.  Finite field linear algebra subroutines , 2002, ISSAC '02.

[68]  Éric Schost,et al.  Sharp estimates for triangular sets , 2004, ISSAC '04.

[69]  Marc Moreno Maza,et al.  On the Theories of Triangular Sets , 1999, J. Symb. Comput..

[70]  S. Cook,et al.  ON THE MINIMUM COMPUTATION TIME OF FUNCTIONS , 1969 .

[71]  Peter D. Welch,et al.  The Fast Fourier Transform and Its Applications , 1969 .

[72]  Erich Kaltofen,et al.  Computer algebra handbook , 2002 .

[73]  Jean Charles Faugère,et al.  A new efficient algorithm for computing Gröbner bases without reduction to zero (F5) , 2002, ISSAC '02.

[74]  Sébastien Varrette,et al.  Probabilistic certification of divide & conquer algorithms on global computing platforms: application to fault-tolerant exact matrix-vector product , 2007, PASCO '07.