Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
[Now twelve years old, but still worth a look.] Exact symbolic computation with polynomials and matrices over polynomial rings has wide applicability to many fields. By "exact symbolic" we mean computation with polynomials whose coefficients are integers (of any size), rational numbers, or finite fields, as opposed to coefficients that are "floats" of a certain precision. Such computation is part of most computer algebra systems ("CA systems"). Over the last dozen years several large CA systems have become widely available, such as Axiom, Derive, Macsyma, Magma, Maple, Mathematica, and Reduce. They tend to have great breadth, be produced by profit-making companies, and be relatively expensive. However, most if not all of these systems have difficulty computing with the polynomials and matrices that arise in actual research. Real problems tend to produce large polynomials and large matrices that the general CA systems cannot handle. In the last few years several smaller CA systems focused on polynomials have been produced at universities by individual researchers or small teams. They run on Macs, PCs, and workstations. They are freeware or shareware. Several claim to be much more efficient than the large systems at exact polynomial computations. The list of these systems includes CoCoA, Fermat, MuPAD, Pari-GP, and Singular.
Singular is a specialized computer algebra system for polynomial computations with emphasize on the needs of commutative algebra, alge-braic geometry, and singularity theory. Singular's main computational objects are polynomials, ideals and modules over a large variety of rings. Singular features one of the fastest and most general implementations of various algorithms for computing standard resp. Gröbner bases. The new, upcoming version 2-2 includes also algorithms for a wide class of non-commutative algebras (Plural) and the possiblity for dynamic extension of the program at run-time (dynamic modules). Furthermore, it provides multivariate polynomial factorization, resultant, characteristic set and gcd computations, syzygy and free-resolution computations, numerical root– finding, visualisation, and many more related functionalities.
Lecture Notes in Computer Science, 2014
The Basic Polynomial Algebra Subprograms (BPAS) provides arithmetic operations (multiplication, division, root isolation, etc.) for univariate and multivariate polynomials over common types of coefficients (prime fields, complex rational numbers, rational functions, etc.). The code is mainly written in CilkPlus [10] targeting multicore processors. The current distribution focuses on dense polynomials and the sparse case is work in progress. A strong emphasis is put on adaptive algorithms as the library aims at supporting a wide variety of situations in terms of problem sizes and available computing resources.
Solving polynomial systems with CoCoALib (a C++ library from algebra to applications) ============================================================= We present the algebraic and exact methods for solving polynomial systems and analyzing their structure, and also the opposite problem i.e. finding polynomials vanishing on a given set of points; and then we discuss the recent results about the interaction between these algebraic techniques with approximation issues. We show how to perform these computations using the Computer Algebra System CoCoA, and also with its core C++ library, CoCoALib.
Science of Computer Programming, 2006
The role of computer algebra systems (CASs) is not limited to analyzing and solving mathematical and physical problems. They have also been used as tools in the development process of computer programs, starting from the specification and ending with the coding and testing phases. In this way one can exploit their powerful mathematical capacity during the development phases and, by the other way, take advantage of the speed performance of languages such as FORTRAN or C in the implementation. Among the mathematical features of CASs there are transformations allowing one to optimize the final code instructions. In this paper we show some kind of optimizations that can be done on new or existing algorithms, by extending some techniques that compilers apply currently to optimize the machine code. The results show that the CPU time taken by the optimized code is reduced by a factor that can reach 5. The optimizations are performed with a package built on a well known CAS: Mathematica.
Technology-Based Re-Engineering Engineering Education Proceedings of Frontiers in Education FIE'96 26th Annual Conference, 1996
... Computer Algebra Systems (CAS) have been used imaginatively and extensively to enhance the presentation of analytic concepts [3 ... Exposure to such derivations should encourage students to obtain and work work with analytic results, rather than be inclined to perform ...
Elimination theory is at the origin of algebraic geometry in the 19-th century and deals with algorithmic solving of multivariate polynomial equation systems over the complex numbers, or, more generally, over an arbitrary algebraically closed field. In this paper we investigate the intrinsic sequential time complexity of universal elimination procedures for arbitrary continuous data structures encoding input and output objects of elimination theory (i.e. polynomial equation systems) and admitting the representation of certain limit objects. Our main result is the following: let be given such a data structure and together with this data structure a universal elimination algorithm, say P , solving arbitrary parametric polynomial equation systems. Suppose that the algorithm P avoids "unnecessary" branchings and that P admits the efficient computation of certain natural limit objects (as e.g. the Zariski closure of a given constructible algebraic set or the parametric greatest common divisor of two given algebraic families of univariate polynomials). Then P cannot be a polynomial time algorithm. The paper contains different variants of this result which are formulated and discussed both from the point of view of exact (i.e. symbolic) as well as from the point of view of approximative (i.e. numeric) computing. The mentioned results shall only be discussed informally. Proofs will appear elsewhere.
Lecture Notes in Computer Science, 2004
Eden is a parallel functional language extending Haskell with processes. This paper describes the implementation of an interface between the Eden language and the Maple system. The aim of this effort is to parallelize Maple programs by using Eden as coordination language. The idea is to leave in Maple the computational intensive functions of the (sequential) algorithm and to use Eden skeletons to set up the parallel process topology in the available parallel machine. A Maple system is instantiated in each processor. Eden processes are responsible for invoking Maple functions with appropriate parameters and of getting back the results, as well as of performing all the data communication between processes. The interface provides the following services: instantiating and terminating a Maple system in each processor, performing data conversion between Maple and Haskell objects, invoking Maple functions from Eden, and ensuring mutual exclusion in the access to Maple from different concurrent threads in the local processor. A parallel version of Buchberger's algorithm to compute Gröbner bases is presented to illustrate the use of the interface.
ACM Sigsam Bulletin, 2009
One of the main successes of the computer algebra community in the last 30 years has been the discovery of algorithms, called modular methods, that allow to keep the swell of the intermediate expressions under control. Without these methods, many applications of computer algebra would not be possible and the impact of computer algebra in scientific computing would be severely
We discuss the parallelization of algorithms for solving polynomial systems symbolically. We introduce a component-level parallelization: our objective is to develop a parallel solver for which the number of processors in use depends on the intrinsic complexity of the input system, that is on geometry of its solution set. This approach creates new opportunities for parallel execution of polynomial system solvers, in addition to the classical ones at the level of polynomial reduction. We have developed a parallel framework by extending the ALDOR programming language to support multi-processed parallelism targeting symmetric multiprocessor machines. This allowed us to realize a symbolic polynomial system solver with a component-level parallelization. Our experimentation demonstrates good performance gain with respect to the comparable sequential solver.
Journal of Computational Methods in Sciences and Engineering
Computer Algebra System (CAS) is a software program that facilitates symbolic mathematics. The core functionality of a typical CAS is manipulation of mathematical expressions in symbolic forms. The expressions manipulated by CAS normally include polynomials in multiple variables, standard trigonometric and exponential functions, various special functions for example gamma, zeta, Bessel, etc. and also arbitrary functions like derivatives, integrals, sums, and products of expressions. Our implementation of a CAS tool provides an object oriented design framework. The system is portable to other platforms and highly scalable. The other key features include a very simple and interactive user GUI support for a formula editor, making it a self contained system, additionally the formula editor provides a real-time syntax checking for expressions.
2000
Maple is a comprehensive general purpose computer algebra system. It is used primarily in education and scientific research in the sciences, in mathematics, and in engineering. Maple can do both symbolic and numerical calculations and has facilities for 2 and 3-dimensional graph- ical output. The newest version of Maple, Maple V Release 2, sports a new user interface that integrates
This report describes our work on implementation of effective numerical routines for polynomials and polynomial matrices in the MATHEMATICA software. Such operations are recalled during the controller design process if the so called polynomial or algebraic design methods are employed. This research is also motivated by the fact that MATHEMATICA developers pay attention to control engineers needs and produce the Control Systems Professional package for use with MATH-EMATICA and, as we believe, a set of routines for algebraic approach could conveniently complement the existing bunch of programs primarily intended for state-space representations.
We continue the work in and present our maple implementation of an algebraic toolbox capable of doing computations with one and two real algebraic numbers and real solving bivariate polynomial systems. In addition we describe new functions of the subpackage of the C++ library synaps for root isolation of univariate and multivariate polynomials. For this implementation we combine symbolic and numeric tools and illustrate their behavior on some classical family of polynomials.
Proceedings of the 11th PME International Conference, 1987
This reaction has been commissioned by the PME XI organising committee to consider the contribution of each paper grouped under this heading, to seek common threads, to formulate major questions that still need to be answered and to look for indications in the papers as to how these questions might be tackled. The task is a daunting one. It is rather like attempting to put together a jigsaw puzzle whose pieces were not created to fit together in a master plan, each with a life of its own. It is a problem-solving activity and I shall approach it in a problem-solving spirit. In doing so I should like to acknowledge the help given me by Michael Thomas in formulating this reaction.
Journal of Symbolic Computation, 1996
In this paper, we describe the Central Control, a software component that enables several symbolic systems to cooperate and exchange data. The Central Control has been designed to be the kernel of an environment for scientific computations which can offer a common and concurrent access to several tools needed by the scientist and the engineer: general purpose and specialized computer algebra systems, visualization tools, links with numerical libraries and tools to manipulate numerical programs etc. The user can interact with the Central Control through one or more (graphical) user interfaces. The Central Control achieves its goals by requiring as little as possible from the tools and by using a particular programming language to provide a unified view for the objects and the operations performed by the connected tools. The Central Control will be used as the basis of the Comprehensive Solver that will provide common access to all the programs developed within the posso esprit/bra project. We give a simple example of an actual use of the Central Control for computing primary decompositions of ideals.
Lecture Notes in Computer Science, 2010
1995
The PoSSo library is a sophisticated library of tools for solving systems of polynomial equations. Each tool is supplied as a framework, rather than as a traditional program library or as a self-contained package, providing a unusual level of exibility. Each framework consists of a collection of C++ classes, which allows the customisation of each tool. Customisation can happen either at compile time with the addition of new derived classes, or at run time through the selection from tables among prede ned choices. Tools like the Customisable Memory Management, allow for instance memory management to be nely tuned to the requirements of the Buchberger algorithm. This algorithm in turn can be specialised to work on di erent polynomial rings. The library achieves high levels of e ciency both by incorporating advanced algorithms and by allowing the user to select the most appropriate strategy for each particular problem.
Journal of Symbolic Computation, 1988
This paper explains how computer algebra (Reduce) was used to analyse the expressions resulting from the complexity analysis of a family of algorithms for the isolation of real roots of polynomials. The expressions depend on sufficiently many parameters, and are sufficiently complex, that manual analysis would have been almost impossible. In addition, by analysing constant factors as well as the 0 form of the expressions, we obtain more information about the relative costs of algorithms with the same 0 complexity.
1996
Computer algebra systems (CASs) have become an important computational tool in the last decade. General purpose CASs, which are designed to solve a wide variety of problems, have gained special prominence. In this paper, the capabilities of six major general purpose CASs (Axiom, Derive, Macsyma, Maple, Mathematica and Reduce) are reviewed on 123 short problems covering a broad range of (primarily) symbolic mathematics. A demo was developed for each CAS, run and the results evaluated. Problems were graded in terms of whether it was easy or di cult or possible to produce an answer and if an answer was produced, whether it was correct. It is the author's hope that this review will encourage the development of a comprehensive CAS test suite.