CoCoA

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
CoCoA System
software
Logo
Logo
GenereSistema di algebra computazionale
SviluppatoreUniversità di Genova
Ultima versione5.2.4 (2018)
Sistema operativoLinux
macOS
Microsoft Windows
Solaris
LinguaggioC++
ToolkitQt
LicenzaGNU GPL
(licenza libera)
Sito webcocoa.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.

È programmabile tramite un linguaggio appositamente progettato, CoCoA language, e presenta un'interfaccia testuale (usabile anche tramite Emacs).

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

Esistono versioni per Mac, Linux, Windows e Solaris.

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 è la prima ad essere interamente basata su CoCoALib[2], scritta in C++.

L'evoluzione del progetto è strettamente legata ai meeting e scuole 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, y*x+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, su cocoa.dima.unige.it. URL consultato il 7 maggio 2010 (archiviato dall'url originale il 18 marzo 2010).
  2. ^ CoCoALib, su cocoa.dima.unige.it. URL consultato l'8 giugno 2008 (archiviato dall'url originale il 25 marzo 2008).

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  • CoCoA, su cocoa.dima.unige.it.
  • CoCoALib C++ library, su cocoa.dima.unige.it. URL consultato l'8 giugno 2008 (archiviato dall'url originale il 19 ottobre 2014).
  • Manuale d'uso, su cocoa.dima.unige.it. URL consultato l'8 giugno 2008 (archiviato dall'url originale il 28 maggio 2008).
  • ApCoCoA, su apcocoa.org. URL consultato l'8 giugno 2008 (archiviato dall'url originale l'8 dicembre 2015).