CoCoA

Da Wikipedia, l'enciclopedia libera.
CoCoA System
Logo
CoCoA.4 Logo.png
Sviluppatore Università di Genova
Ultima versione 5.0.2 (aprile 2012)
Sistema operativo Linux
macOS
Microsoft Windows
Solaris
Genere Sistema di algebra computazionale
Licenza GNU GPL
Sito web cocoa.dima.unige.it

CoCoA System (Computations in Commutative Algebra) è un sistema di algebra computazionale, sviluppato dall'Università di Genova e studiato per affrontare problemi di teoria dei numeri e soprattutto di polinomi.

Si basa su un linguaggio appositamente progettato, CoCoALanguage, e presenta un'interfaccia testuale (usabile anche tramite Emacs) e una grafica (GUI).

Nella sua recente evoluzione è stato meglio delineato e potenziato il cuore matematico, progettato come libreria C++, CoCoALib. CoCoALib è distribuito sotto licenza GPL, e così sarà anche per le componenti della prossima versione (CoCoA-5) del sistema.

Esistono versioni per Mac, Linux, Windows e Solaris; l'ultima versione, CoCoA-4.7.5 è stata distribuita il 2 ottobre 2009.

Caratteristiche[modifica | modifica wikitesto]

Alla base di CoCoA c'è la potente libreria GMP, sviluppata per trattare in modo esatto numeri a precisione arbitraria con un'efficienza massima su qualsiasi architettura.

CoCoA può essere utilizzata sia per calcoli semplici sia per complesse operazioni di calcolo simbolico. È in grado di trattare:

Storia[modifica | modifica wikitesto]

Il progetto prese il via nel 1987: A. Giovini e G. Niesi svilupparono ognuno per conto proprio due piccoli progetti, che vennero poi riuniti sotto il coordinamento di L. Robbiano[1]; il codice a quel tempo era scritto in Pascal e girava solo su computer Macintosh.

CoCoA3, sviluppata tra il 1990 e il 1993, è stata la prima versione scritta in C.

CoCoa5 sarà la prima ad essere interamente basata su CoCoALib[2].

L'evoluzione del progetto è strettamente legata ai meeting su CoCoA che si tengono periodicamente.

Esempi di utilizzo[modifica | modifica wikitesto]

Il seguente esempio permette di definire un ideale e stamparne a schermo la base di Gröbner:

 I = Ideal([x^2, yx+1]);
 G = GBasis(I);
 G;

Si osserva facilmente che CoCoA non approssima le frazioni, ma le tratta in modo simbolico:

 (1/3) * 3;
 1
 0.3333333333333 * 3;
 9999999999999/10000000000000

Note[modifica | modifica wikitesto]

  1. ^ CoCoA Release Notes
  2. ^ CoCoALib

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]