CoCoA

Last updated
CoCoA
Original author(s) Abbott, J. and Bigatti, A. M. and Robbiano, L. [1]
Initial release1988;35 years ago (1988) [2]
Stable release
5.4.0 / 11 April 2022;11 months ago (2022-04-11) [3]
Preview release
5.4.1j / 21 February 2023;29 days ago (2023-02-21) [3]
Written in C++
Operating system Windows, Linux/Unix, macOS,
Type Computer algebra system
License GNU GPL
Website cocoa.dima.unige.it
CoCoALib
Original author(s) Abbott, J. and Bigatti, A. M. [1]
Initial release9 March 2007;16 years ago (2007-03-09) [4]
Stable release
0.99800 / 28 April 2022;10 months ago (2022-04-28) [5]
Preview release
0.99718 / 14 February 2022;13 months ago (2022-02-14) [5]
Written in C++
Type Library
License GNU GPL
Website cocoa.dima.unige.it   OOjs UI icon edit-ltr-progressive.svg

CoCoA (Computations in Commutative Algebra) [6] is a free computer algebra system developed by the University of Genova, Italy, used to compute with numbers and polynomials. The CoCoA Library (CoCoALib [7] ) is available under GNU General Public License. CoCoA has been ported to many operating systems including Macintosh on PPC and x86, Linux on x86, Unix x86-64 & PPC, Solaris on SPARC and Windows on x86. CoCoA is mainly used by researchers (see citations at [8] and [9] ), but can be useful even for "simple" computations.

Contents

CoCoA's features include:

It is able to perform simple and sophisticated operations on multivariate polynomials and on various data related to them (ideals, modules, matrices, rational functions). For example, it can readily compute Gröbner basis, syzygies and minimal free resolutions, intersection, division, the radical of an ideal, the ideal of zero-dimensional schemes, Poincaré series and Hilbert functions, factorization of polynomials, and toric ideals. The capabilities of CoCoA and the flexibility of its use are further enhanced by the dedicated high-level programming language.

Its mathematical core, CoCoALib, has been designed as an open source C++ library, focussing on ease of use and flexibility.

CoCoALib is based on GNU Multi-Precision Library.

CoCoALib is used by ApCoCoA [10] and NmzIntegrate [11]

See also

Related Research Articles

<span class="mw-page-title-main">Algebraic geometry</span> Branch of mathematics

Algebraic geometry is a branch of mathematics which classically studies zeros of multivariate polynomials. Modern algebraic geometry is based on the use of abstract algebraic techniques, mainly from commutative algebra, for solving geometrical problems about these sets of zeros.

Magma is a computer algebra system designed to solve problems in algebra, number theory, geometry and combinatorics. It is named after the algebraic structure magma. It runs on Unix-like operating systems, as well as Windows.

In mathematics and specifically in algebraic geometry, the dimension of an algebraic variety may be defined in various equivalent ways.

In mathematics, and more specifically in computer algebra, computational algebraic geometry, and computational commutative algebra, a Gröbner basis is a particular kind of generating set of an ideal in a polynomial ring K[x1, ..., xn] over a field K. A Gröbner basis allows many important properties of the ideal and the associated algebraic variety to be deduced easily, such as the dimension and the number of zeros when it is finite. Gröbner basis computation is one of the main practical tools for solving systems of polynomial equations and computing the images of algebraic varieties under projections or rational maps.

<span class="mw-page-title-main">Polynomial ring</span> Algebraic structure

In mathematics, especially in the field of algebra, a polynomial ring or polynomial algebra is a ring formed from the set of polynomials in one or more indeterminates with coefficients in another ring, often a field.

In the theory of multivariate polynomials, Buchberger's algorithm is a method for transforming a given set of polynomials into a Gröbner basis, which is another set of polynomials that have the same common zeros and are more convenient for extracting information on these common zeros. It was introduced by Bruno Buchberger simultaneously with the definition of Gröbner bases.

GiNaC is a free computer algebra system released under the GNU General Public License. The name is a recursive acronym for "GiNaC is Not a CAS". This is similar to the GNU acronym "GNU is not Unix".

In mathematics, the resultant of two polynomials is a polynomial expression of their coefficients that is equal to zero if and only if the polynomials have a common root, or, equivalently, a common factor. In some older texts, the resultant is also called the eliminant.

<span class="mw-page-title-main">Macaulay2</span> Computer algebra system

Macaulay2 is a free computer algebra system created by Daniel Grayson and Michael Stillman for computation in commutative algebra and algebraic geometry.

In computer algebra, the Faugère F4 algorithm, by Jean-Charles Faugère, computes the Gröbner basis of an ideal of a multivariate polynomial ring. The algorithm uses the same mathematical principles as the Buchberger algorithm, but computes many normal forms in one go by forming a generally sparse matrix and using fast linear algebra to do the reductions in parallel.

In commutative algebra, the Hilbert function, the Hilbert polynomial, and the Hilbert series of a graded commutative algebra finitely generated over a field are three strongly related notions which measure the growth of the dimension of the homogeneous components of the algebra.

<span class="mw-page-title-main">PARI/GP</span> Computer algebra system

PARI/GP is a computer algebra system with the main aim of facilitating number theory computations. Versions 2.1.0 and higher are distributed under the GNU General Public License. It runs on most common operating systems.

<span class="mw-page-title-main">Polymake</span>

Polymake is software for the algorithmic treatment of convex polyhedra.

SymbolicC++ is a general purpose computer algebra system written in the programming language C++. It is free software released under the terms of the GNU General Public License. SymbolicC++ is used by including a C++ header file or by linking against a library.

A system of polynomial equations is a set of simultaneous equations f1 = 0, ..., fh = 0 where the fi are polynomials in several variables, say x1, ..., xn, over some field k.

Vladimir P. Gerdt was a Russian mathematician and a full professor at the Joint Institute for Nuclear Research (JINR) where he was the head of the Group of Algebraic and Quantum Computations. His research interests were concentrated in computer algebra, symbolic and algebraic computations, algebraic and numerical analysis of nonlinear differential equations, polynomial equations, applications to mathematics and physics, and quantum computation with over 210 published articles.

Ferdinando 'Teo' Mora is an Italian mathematician, and since 1990 until 2019 a professor of algebra at the University of Genoa.

In computer algebra, the Gröbner fan of an ideal in the ring of polynomials is a concept in the theory of Gröbner bases. It is defined to be a fan consisting of cones that correspond to different monomial orders on that ideal. The concept was introduced by Mora and Robbiano in 1988. The result is a weaker version of the result presented in the same issue of the journal by Bayer and Morrison. Gröbner fan is a base for the nowadays active field of tropical geometry. One implementation of the Gröbner fan is called Gfan, based on an article of Fukuda, et al. which is included in some computer algebra systems such as Singular, Macaulay2, and CoCoA.

<span class="mw-page-title-main">Normaliz</span> Computer algebra system

Normaliz is a free computer algebra system developed by Winfried Bruns, Robert Koch (1998–2002), Bogdam Ichim (2007/08) and Christof Soeger (2009–2016). It is published under the GNU General Public License version 2.

References

  1. 1 2 "Citing CoCoA". cocoa.dima.unige.it. Retrieved 2022-07-06.
  2. "CoCoA History". cocoa.dima.unige.it. Retrieved 2023-03-09.
  3. 1 2 "CoCoA 5 Release Notes". cocoa.dima.unige.it. Retrieved 2022-07-06.
  4. "CoCoALib Beta Archive". cocoa.dima.unige.it. Retrieved 2023-03-09.
  5. 1 2 "CoCoALib". cocoa.dima.unige.it. Retrieved 2022-07-06.
  6. "CoCoA website".
  7. "CoCoALib home page".
  8. "CoCoA - Mathematical software - swMATH".
  9. "CoCoA in GoogleScholar".
  10. "ApCoCoA website".
  11. "Normaliz website". Archived from the original on 2015-12-08. Retrieved 2014-05-22.