Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computer algebra (2nd ed.): systems and algorithms for algebraic computation
Computer algebra (2nd ed.): systems and algorithms for algebraic computation
Dagwood: a system for manipulating polynomials given by straight-line programs
ACM Transactions on Mathematical Software (TOMS)
A toolkit for non-linear algebra
WAFR Proceedings of the workshop on Algorithmic foundations of robotics
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
A computational method for diophantine approximation
Algorithms in algebraic geometry and applications
Foxbox: a system for manipulating symbolic objects in black box representation
Foxbox: a system for manipulating symbolic objects in black box representation
Fast Probabilistic Algorithms for Verification of Polynomial Identities
Journal of the ACM (JACM)
Determinant: Old Algorithms, New Insights
SIAM Journal on Discrete Mathematics
On the data structure straight-line program and its implementation in symbolic computation
Mathematics and Computers in Simulation - Selected papers from the IMACS-ACA sponsored conferences: “Non-standard applications of computer algegra II&rdqu; (held in Waileau Maui, Hawaii and Prague, Czech Republic)
Deformation techniques for efficient polynomial equation solving
Journal of Complexity
The projective noether maple package: computing the dimension of a projective variety
Journal of Symbolic Computation
Algebraic simplification: a guide for the perplexed
Communications of the ACM
A Gröbner free alternative for polynomial system solving
Journal of Complexity
The Haskell: The Craft of Functional Programming
The Haskell: The Craft of Functional Programming
Polynomial Algorithms in Computer Algebra
Polynomial Algorithms in Computer Algebra
Introduction to Functional Programming
Introduction to Functional Programming
How Lower and Upper Complexity Bounds Meet in Elimination Theory
AAECC-11 Proceedings of the 11th International Symposium on Applied Algebra, Algebraic Algorithms and Error-Correcting Codes
Integration of Multivariate Rational Functions Given by Straight-Line Programs
AAECC-11 Proceedings of the 11th International Symposium on Applied Algebra, Algebraic Algorithms and Error-Correcting Codes
When Polynomial Equation Systems Can Be "Solved" Fast?
AAECC-11 Proceedings of the 11th International Symposium on Applied Algebra, Algebraic Algorithms and Error-Correcting Codes
Absolute Primality of Polynomials is Decidable in Random Polynomial Time in the Number of Variables
Proceedings of the 8th Colloquium on Automata, Languages and Programming
Probabilistic algorithms for sparse polynomials
EUROSAM '79 Proceedings of the International Symposiumon on Symbolic and Algebraic Computation
Monads for Functional Programming
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Journal of Functional Programming
Hi-index | 0.00 |
In this paper we present MILONGA, a language based on functional programming concepts, which was designed for the implementation of a new generation of nonterm-rewriting elimination algorithms for multivariate polynomial solving [J. Pure Appl. Alg. 124 (1998) 101-146; J. Pure Appl. Alg. 117/118 (1997) 277-317; Appl. Alg. Eng. Commun. Comput. 11 (4) (2001) 239-296; J. Complex. 17 (1) (2001) 154-211].These new algorithms profit from an alternative representation of multivariate polynomials by means of straight-line programs [Algebraic complexity theory, in: Handbook of Theoretical Computer Science, Elsevier, Amsterdam, 1990, pp. 634-671 (Chapter 11); Algebraic complexity theory, in: Grundlehren der mathematischen Wissenschaften, Vol. 315, Springer, Berlin, 1997] allowing an exponential improvement of theoretical complexity--with respect to computing time and memory space--upon traditional, term-rewriting procedures.There is a strong analogy between the way how these algorithms employ straight-line programs and the way how functional programming languages treat functions as first-class citizens. Taking advantage of this circumstance, the MILONGA language enables us to analyze the relevance of the functional programming paradigm for the particular kind of task of polynomial equation solving.The paper contains an exhaustive do-it-yourself description of the programming philosophy of MILONGA, of the development of its compiler, of the operational semantics of its run-time system and of the implementation of a couple of fundamental computer algebra procedures in this language.The practical efficiency of this philosophy and implementation is outlined by comparative benchmarking on significant test examples.