Calcoli Floating Point
Tra i programmi specifici per fare calcoli, alcuni nascono orientati per trattare principalmente numeri floating point di precisione assegnata - di solito dipendente dall'hardware dedicato disponibile - e altri per trattare numeri interi di lunghezza arbitraria, frazioni, strutture algebriche.
Per esempio, nella prima specie ci sono programmi come octave, scilab, matlab
e nella seconda specie programmi
come maxima, axiom, maple, mathematica
. ( matlab, maple, mathematica non sono open source e si pagano)
Negli anni i vari programmi hanno in vario modo integrato le ulteriori funzionalità per cui attualmente ciascuno di questi ambienti di calcolo offre la possibilità di fare calcoli floating point con varie precisioni - singola, doppia, quadrupla, multiprecisione - e calcoli simbolici con interi arbitrariamente lunghi e con espressioni più o meno complicate comprendenti integrali, derivate, serie, e strutture algebriche più esotiche.
il programma sage
nasce come un tentativo di avere una interfaccia unificata a un numeroso gruppo
di questi programmi che sono open source, e lo vedremo in dettaglio tra poco.
Vediamo ora alcuni dei programmi del primo tipo, quelli che nascono come numerici con il floating point, e che verranno studiati più in dettaglio nella seconda parte del laboratorio.
Il programma octave
La pagina di wikipedia ha dei cenni alla storia:
Un professore di chimica, dovendo usare programmi per l'integrazione delle equazioni dei reattori chimici,
stufo di perdere 3/4 del tempo del suo laboratorio a spiegare
ai chimici la programmazione in fortran, decise di sviluppare octave
in modo che gli studenti
arrivassero più velocemente al punto interessante per un chimico !
Matlab e octave sono molto compatibili: generalmente un codice gira su entrambi con minime modifiche.
Per entrambi i programmi esiste una documentazione sterminata facilmente accessibile.
Qui per ora citiamo il materiale introduttivo chiarissimo che la nostra ex collega Lidia Aceto usava
per il suo corso di Calcolo Numerico agli ingegneri.
octave -W
).
Provate a fare qualche calcolo, come fosse una calcolatrice; provate ad assegnare dei valori a un paio di variabili; provate ad assegnare dei valori ad una matrice 3x3 ; calcolatene l'inversa e gli autovalori.
Ci sono versioni di octave
anche per gli smartphone. Per esempio addi
per android.
Per usarli è preferibile collegare allo smartphone una tastiera esterna, per esempio via
bluetooth.
Il programma matlab
Questo è un programma venduto con licenza da una ditta che lo sviluppa e mantiene,
la Mathworks.
Il fondatore della ditta vide le prime dimostrazioni di octave
e decise
di sviluppare un prodotto commerciale con caratteristiche simili. Riscrisse tutto il codice
ex novo, in modo da non violare la licenza GNU.
La sua intuizione è stata sicuramente azzeccata, perchè il prodotto ha avuto successo,
ed ha parecchie features che mancano in octave.
L'Università di Pisa paga una licenza annuale per tutto il campus universitario,
e quindi sia docenti che studenti possono installare matlab
completo di tutti
i toolbox sul proprio calcolatore.
Per installare matlab
si possono seguire le istruzioni su
unipi.it/matlab .
Delle istruzioni di dettaglio su come installare matlab sul proprio calcolatore
sono disponibili sulla pagina web del collega Prof. Federico Poloni:
installare matlab!
matlab
su un vostro
calcolatore! Vi sarà utile/necessario per la parte del laboratorio che si svolgerà nel secondo semestre.
Il programma Scilab
Un ulteriore programma da ricordare è lo Scilab; anche questo è open source e con comandi abbastanza compatibili con octave e matlab ed è disponibile sulle macchine mathsgalore.