Stabilità di un algoritmo
Un algoritmo si dice stabile se, durante la sua successione finita di istruzioni, gli errori di arrotondamento dovuti alle singole operazioni non influenzano eccessivamente i risultati. La stabilità dipende dunque dal condizionamento delle successioni che compongono l'algoritmo, ossia da quanto le perturbazioni sui dati producono perturbazioni sui risultati. Un algoritmo è ben condizionato e quindi più stabile se a piccole variazioni sui dati corrispondono piccole variazioni sui risultati. Il risultato trovato con un algoritmo instabile può produrre risultati non sufficientemente corretti, e quindi inutilizzabili.
Analisi della stabilità
Per analizzare la stabilità si può agire in due modi:
- Analisi in avanti: in cui viene valutata la differenza tra soluzione esatta e soluzione calcolata.
- Analisi all'indietro: in cui la soluzione calcolata viene considerata come la soluzione esatta di un problema perturbato Q e viene valutato P-Q.
Approssimazione
Esistono due tipi di approssimazioni che possono essere effettuate su dati:
- La migliore approssimazione, che avviene quando si ha una serie di dati affetti da errori che vengono approssimati nel loro insieme.
- L'interpolazione, che consiste nel cercare una funzione che passi per i dati esatti.
Durante l'approssimazione si usano principalmente classi di funzioni come i polinomi, le funzioni trigonometriche, le funzioni razionali o le funzioni polinomiali a tratti, dette anche splines.
Quadratura
Si dice quadratura l'approssimazione dell'area sottesa da una curva. Essa viene usata soprattutto per risolvere gli integrali di cui è difficile trovare la primitiva. Vengono usate per distinguere le approssimazioni numeriche di un integrale dalla risoluzione di un'equazione differenziale. L'errore nelle formule di quadratura è dato dalla differenza tra I e I(n+1), dove I(n+1) è dato dalla sommatoria degli w*f(x), con w detti pesi della formula di quadratura e x detti nodi della formula di quadratura. Il grado di precisione è uguale a k se la funzione integranda ha grado minore o uguale a k.
Floating point
Un numero scritto in floating point è un numero reale scritto in una forma macchina. Esso è composto dal segno, dai numeri di mantissa e dalla base elevata ad un esponente. Quando un numero reale ha bisogno di un numero maggiore di cifre di mantissa si produce un errore di arrotondamento. Se necessita di una caratteristica non compresa tra i valori minimo e massimo dell'esponente si producono errori di underflow o di overflow. Il numero floating point rappresenta quindi il numero macchina più vicino a quello reale, determinato con troncamento o arrotondamento.
Fonti degli errori
Gli errori possono essere inerenti, ossia derivare dai dati stessi; possono essere analitici o di troncamento, ossia derivanti da approssimazioni; possono essere algoritmici, ossia derivanti dalle approssimazioni effettuate durante l'esecuzione di un algoritmo.
Tipi di errori
Vi è l'errore assoluto, dato dal modulo della differenza tra valore reale e numero in floating point, oppure qu...