up previous next
2.1.1 An Overview of the System
CoCoA is a computer algebra system for doing Computations in Commutative Algebra. Since its first version CoCoA has been designed to offer maximum ease of use and flexibility to the mathematician with little or no knowledge of computers. It is able to perform simple and sophisticated operations on multivariate polynomial rings and on various data connected with them (ideals, modules, matrices, rational functions).

The system is capable of performing basic operations such as
    * sums, products, powers, derivatives, gcd, lcm of polynomials;
    * sums, products, powers, derivatives  of rational functions;
    * sums, products, powers of ideals;
    * sums  of modules;
    * sums, products, powers, determinants, adjoints of matrices;
    * operations between heterogeneous values, like the product
      between an ideal and a polynomial, etc.
Besides these, more advanced operations are available. For example:
    * Groebner bases of ideals and modules;
    * syzygies of ideals and modules;
    * minimal free resolutions of ideals and modules;
    * intersection and division of ideals and modules;
    * inclusion and equality test for ideals and modules;
    * elimination of indeterminates;
    * homogenization of ideals;
    * Poincare series and Hilbert functions;
    * factorization of polynomials;
    * saturation of toric ideals.
Every computation is performed within a current or active ring, but the user can easily define and switch between many rings in a single CoCoA session.

CoCoA includes an extensive Pascal-like programming language, CoCoAL, that allows the user to customize the system and extend the embedded library.