Il sito di CoCoA e' al momento irraggiungibile per problemi alla rete "dima.unige.it"

+ New website 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

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 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; 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, scritta in C++.

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

Esempi di utilizzo 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

Altri progetti

Collegamenti esterni

Categoria:Sistemi di algebra computazionale