Calcoli Simbolici (Computer Algebra)

In matematica e informatica, la computer algebra, chiamata anche calcolo simbolico o calcolo algebrico, è un'area scientifica che si riferisce allo studio e allo sviluppo di algoritmi e software per la manipolazione di espressioni matematiche e altri oggetti matematici. Si tratta a tutti gli effetti di un sottocampo del calcolo scientifico, e dell'analisi numerica. Laddove nel calcolo scientifico più generale si è soliti fare uso di calcoli numerici con numeri in virgola mobile, nel calcolo simbolico si enfatizza invece il calcolo esatto con espressioni contenenti variabili che non hanno un valore dato e che vengono manipolate come veri e propri simboli.

Le applicazioni software che eseguono calcoli simbolici sono chiamate solitamente Computer Algebra Systems, con il termine sistema si allude in un certo senso alla complessità delle principali applicazioni che devono contenere. Queste includono, almeno, un metodo per rappresentare dati matematici in un computer, un linguaggio di programmazione utente, un gestore di memoria dedicato, un'interfaccia utente per l'input/output di espressioni matematiche, un ampio insieme di routine per eseguire operazioni usuali, come semplificazione delle espressioni, differenziazione mediante regola della catena, fattorizzazione polinomiale, integrazione indefinita, ecc. .

In questa parte del laboratorio menzioniamo alcuni di questi sistemi senza entrare nei dettagli di ciascuno di essi, ma con lo spirito di darvi un'idea di quelli che sono degli strumenti utili per lo studio, anche teorico, della matematica.

Il programma maxima

Maxima nasce come Macsyma, scritto originalmente in lisp nel periodo in cui molti guru erano convinti di poter sviluppare la A.I. in questo linguaggio.
Quando l'MIT chiuse il progetto e vendette Macsyma, fu solo grazie agli sforzi di ricercatori come Bill Schelter che una parte del codice finanziato con soldi pubblici fu resa open source e divenne l'attuale maxima: dovettero vincere una causa legale per ottenerlo.

Il maxima originariamente nasce senza interfaccia grafica, in solo modo testo. Programmi come wxmaxima o xmaxima aggiungono una specie di interfaccia grafica e la capacità di fare dei plot.
Noi useremo nel seguito sage che usa maxima al suo interno.

Se si vuole si può comunque lanciare direttamente maxima. Bisogna ricordarsi che in maxima le linee di comando vanno terminate con un ; e che si esce con quit();. In wxmaxima invece le righe si mandano in esecuzione con Cntrl+Enter.

Lanciare maxima ; provare a sommare 4/3 e 6/5; calcolare 100!; fattorizzare il risultato; provare ad integrare x*sin(3*x);
Per usare a fondo la potenza di maxima occorre imparare molte cose sul suo funzionamento interno.

Ci sono versioni di maxima anche per gli smartphone sia per android che per iphone.
Per usarli è preferibile collegare allo smartphone una tastiera esterna, per esempio via bluetooth.

Provare a calcolare l'integrale di x*sin(x) sul sito Wolfram Alpha
Notare che il sito accetta le formule in Latex !

Anche questo non è attualmente disponibile sulle macchine dei laboratori, per motivi economici.

Il programma axiom

Sviluppato da IBM come alternativa a Mathematica e Maple, ora è disponibile open source.
Ha in certi campi routines molto sofisticate.
Per maggiori informazioni visitate l'apposito sito.