The modpn library: bringing fast polynomial arithmetic into MAPLE

We investigate the integration of C implementation of fast arithmetic operations into Maple, focusing on triangular decomposition algorithms. We show substantial improvements over existing Maple implementations; our code also outperforms Magma on many examples. Profiling data show that data conversion can become a bottleneck for some algorithms, leaving room for further improvements. Since the early days of computer algebra systems, their designers have investigated many aspects of this kind of software. For systems born in the 70’s and 80’s, such as AXIOM and Maple, the primary concerns were probably the expressiveness of the programming language and the convenience of the user interface; the implementation of modular methods for operations such as polynomial GCD or factorization was also among these concerns. Computer algebra systems and libraries born in the 90’s, such as Magma and NTL, have brought forward a new priority: the implementation of asymptotically fast arithmetic for polynomials and matrices. They have demonstrated that, for relatively small input data size, FFT-based polynomial operations could outperform operations based on classical quadratic algorithms or on the Karatsuba trick. This increased in a spectacular manner the range of solvable problems. Meanwhile, AXIOM and Maple remain highly attractive: the former one by its programming environment and the latter one by its users community. In previous work [6, 9, 11] we have investigated the integration of asymptotically fast arithmetic operations into AXIOM. Since AXIOM is based today on GNU Common Lisp (GCL), we realized optimized implementations of these fast routines in C and

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

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

[3]  Éric Schost,et al.  Computing Parametric Geometric Resolutions , 2003, Applicable Algebra in Engineering, Communication and Computing.

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

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

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

[7]  Jean-Charles Faugère,et al.  FGb: A Library for Computing Gröbner Bases , 2010, ICMS.

[8]  Marc Moreno Maza,et al.  High-Performance Symbolic Computation in a Hybrid Compiled-Interpreted Programming Environment , 2008, 2008 International Conference on Computational Sciences and Its Applications.

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

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

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

[12]  Raqeeb Rasheed,et al.  Modular Methods for Solving Nonlinear Polynomial Systems , 2007 .

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

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

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

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

[17]  Xin Jin,et al.  Change of order for regular chains in positive dimension , 2008, Theor. Comput. Sci..

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

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

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

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

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

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

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

[25]  Éric Schost,et al.  Complexity results for triangular sets , 2003, J. Symb. Comput..