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.

Il programma maple

Questo è un programma venduto con licenza da una ditta che lo sviluppa e mantiene, la Maplesoft.

Anni fa, in un momento di vacche grasse, il dipartimento comperò un pacco di licenze di maple per le macchine Linux dei laboratori.
Incredibilmente quegli eseguibili vanno ancora nonostante gli aggiornamenti di sistema delle macchine dei laboratori.

Queste versioni vecchie del programma sono molto semplici da usare ed hanno le pagine di help ricche di esempi pratici.
Purtroppo le nuove installazioni delle macchine delle aule 3 e 4 non permettono più di collegarsi in remoto, per cui per provare maple dovrete aspettare di essere in presenza su una delle macchine delle aule.
E' possibile usare maple sia in modalità testo che in modalità grafica. Le nuove versioni hanno aggiunto moltissimi comandi e una interfaccia grafica più completa per cui molti degli esempi che si trovano in rete non girano sulla vecchia versione.

In maple alla fine della riga occorre ; per l'esecuzione (e : per non visualizzare il risultato). L'assegnazione viene fatta con := mentre = indica una equazione.

Il programma mathematica

Questo è un programma venduto con licenza da una ditta che lo sviluppa e mantiene, la Wolfram.
La Wolfram mantiene inoltre un sito disponibile a tutti con una interfaccia web al programma !

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