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
.
maxima
; provare a sommare 4/3 e 6/5; calcolare 100!; fattorizzare il risultato;
provare ad integrare x*sin(3*x);
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.
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.