Abstract
The purpose of this study is to investigate implementation techniques for polynomial arithmetic in a multiple-level programming environment. Indeed, certain polynomial data types and algorithms can further take advantage of the features of lower level languages, such as their specialized data structures or direct access to machine arithmetic. Whereas, other polynomial operations, like Gröbner basis over an arbitrary field, are suitable for generic programming in a high-level language.
We are interested in the integration of polynomial data type implementations realized at different language levels, such as Lisp, C and Assembly. In particular, we consider situations for which code from different levels can be combined together within the same application in order to achieve high-performance.
We have developed implementation techniques in the multiple-level programming environment provided by the computer algebra system AXIOM. For a given algorithm realizing a polynomial operation, available at the user level, we combine the strengths of each language level and the features of a specific machine architecture. Our experimentations show that this allows us to improve performances of this operation in a significant manner.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The AXIOM developers web site, http://page.axiom-developer.org
aldor.org. Aldor 1.0.2. University of Western Ontario, Canada (2004), http://www.aldor.org
The Computational Algebra Group in the School of Mathematics and Statistics at the University of Sydney. The MAGMA Computational Algebra System for Algebra, Number Theory and Geometry, http://magma.maths.usyd.edu.au/magma/
Dahan, X., Moreno Maza, M., Schost, É., Wu, W., Xie, Y.: Lifting techniques for triangular decompositions. In: ISSAC 2005, pp. 108–115. ACM Press, New York (2005)
Dummit, D.S., Foote, R.M.: Abstract algebra. Simon and Schuster (1993)
Fateman, R.J.: Vector-based polynomial recursive representation arithmetic (1999), http://www.norvig.com/ltd/test/poly.dylan
Filatei, A.: Implementation of fast polynomial arithmetic in Aldor, University of Western Ontario (2006)
Filatei, A., Li, X., Moreno Maza, M., Schost, É.: Implementation techniques for fast polynomial arithmetic in a high-level programming environment. In: Proc. ISSAC 2006. ACM Press, New York (2006)
Free Software Foundation. GNU Multiple Precision Arithmetic Library, http://swox.com/gmp/
von zur Gathen, J., Gerhard, J.: Modern Computer Algebra. Cambridge University Press, Cambridge (1999)
Greuel, G.-M., Pfister, G., Schönemann, H.: SINGULAR 3.0. A Computer Algebra System for Polynomial Computations. Centre for Computer Algebra, University of Kaiserslautern (2005), http://www.singular.uni-kl.de
van Hoeij, M., Monagan, M.: A modular gcd algorithm over number fields presented with multiple extensions. In: Mora, T. (ed.) Proc. ISSAC 2002, pp. 109–116. ACM Press, New York (2002)
Jenks, R.D., Sutor, R.S.: AXIOM, The Scientific Computation System. Springer, Heidelberg (1992), AXIOM is a trade mark of NAG Ltd, Oxford UK
Li, X.: Efficient management of symbolic computations with polynomials, University of Western Ontario (2005)
Shoup, V.: The Number Theory Library, http://www.shoup.net/ntl
Yap, C.K.: Fundamental Problems in Algorithmic Algebra. Princeton University Press, Princeton (1993)
Yuasa, T., Hagiya, M., Schelter, W.F.: GNU Common Lisp, http://www.gnu.org/software/gcl
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Li, X., Maza, M.M. (2006). Efficient Implementation of Polynomial Arithmetic in a Multiple-Level Programming Environment. In: Iglesias, A., Takayama, N. (eds) Mathematical Software - ICMS 2006. ICMS 2006. Lecture Notes in Computer Science, vol 4151. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11832225_2
Download citation
DOI: https://doi.org/10.1007/11832225_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-38084-9
Online ISBN: 978-3-540-38086-3
eBook Packages: Computer ScienceComputer Science (R0)