skip to main content
article

CoCoA: a laboratory for computations in commutative algebra

Published:01 March 2004Publication History
Skip Abstract Section

Abstract

The CoCoA program together with Singular and Macaulay 2 form an elite group of highly specialized systems having as their main forte the capability to calculate Gröbner bases. Although a number of general purpose symbolic computation systems (e.g. REDUCE and Maple) do offer the possibility to compute Gröbner bases, their non-specialist nature implies a number of severe compromises which make them far less suitable to act as a laboratory---most notably: relatively poor execution speed and limited control over the algorithm parameters. In contrast, CoCoA does not offer facilities for calculus, floating point computation, or any other area not closely related to commutative polynomial algebra.Development in CoCoA is often spurred on by symbiosis with those using it, not only in algebraic geometry research but also in other fields such as mathematical analysis, and statistics. In fact, CoCoA has become widely used in many countries both for research and teaching, and its didactic role means that ease of use is a high priority. Indeed, the mathematically natural way of instructing CoCoA to do computations enhances the worth of its technical skills.CoCoA 5 represents an important new phase in the project: the software is being completely rewritten in C++. CoCoA 5 will be available as an interactive system, as a C++ library, and as a server (using an OpenMath-like interface). We have already achieved significant improvements in flexibility and speed, and note that ease of use remains a high priority while also offering the skilled practitioner a high degree of control. Ultimately CoCoA 5 will extend the range of specialization of the current public release.A big challenge in the design of CoCoA 5 was to reconcile two traditionally conflicting goals: flexibility and efficiency. The inheritance mechanism of C++ plays a crucial role here. Our use of inheritance is exemplified by the way in which rings and their elements are implemented, inspired by the tenet to allow arbitrary (commutative) rings wherever possible. The run-time penalty for this additional abstraction is virtually negligible.In a few cases, to meet the run-time performance targets, the CoCoA library foundations do use "quick and dirty hackery". Here credit is due to the design of C++ which allows such desperate code to be written where necessary, and which also permits it to fit seamlessly into a well-structured program.Undoubtedly the principal feature of CoCoA 5 is its code for computing Gröbner bases. In the case of Buchberger's algorithm there is an unusually wide gulf between the neat elegance of the theory and the complex engineering within a refined implementation. In CoCoA 5 a carefully structured design, which comprises clearly separated components with well defined roles, will facilitate the inclusion of future improvements in an implementation already including many modern ideas: e.g. binary divisibility mask, geobuckets, fraction free representation, sophisticated reducer selection strategy, automatic homogenization, and additional reducers.So far most effort has been invested in the new library which is now in alpha testing. To help development, a rudimentary prototype server has been built which communicates with CoCoA 4.3 (pre-release); this server will evolve in parallel with the library. The interactive system is planned as a separate user interface issuing requests to the CoCoA server.

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGSAM Bulletin
    ACM SIGSAM Bulletin  Volume 38, Issue 1
    March 2004
    34 pages
    ISSN:0163-5824
    DOI:10.1145/980175
    Issue’s Table of Contents

    Copyright © 2004 Author

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 March 2004

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader