CoCoA
Il sito di CoCoA e' al momento irraggiungibile per problemi alla rete "dima.unige.it"
https://sites.google.com/view/cocoa-cocoalib |
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:
- operazioni su numeri
- operazioni su matrici
- operazioni su polinomi
- operazioni su ideali polinomiali
- sistemi lineari
- basi di Gröbner
- formule di Erone
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]- ^ CoCoA Release Notes, su cocoa.dima.unige.it. URL consultato il 7 maggio 2010 (archiviato dall'url originale il 18 marzo 2010).
- ^ 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]- Wikimedia Commons contiene immagini o altri file su CoCoA
Collegamenti esterni
[modifica | modifica wikitesto]- CoCoA, su sites.google.com.
- CoCoALib C++ library, su cocoa.altervista.org.
- 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).