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.

Provate a lanciare octave, sia in modo grafico che in modo solo testuale ( 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!

Da fare ma non durante il laboratorio: provate ad installare 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.