Non validità delle proprietà formali delle operazioni F non è chiuso rispetto alle operazioni, ci può essere overflow; z L’elemento neutro della somma (e del prodotto) non è unico; z L’opposto di un numero non è unico. NON VALGONO z Associativa di somma e prodotto z Distributiva z Legge di annullamento del prodotto z NON vale l’associativa della somma 1 Osservazione importante z L’errore commesso nel calcolo di un’espressione dipende dall’algoritmo usato per calcolarla NON vale la distributiva 2 NON vale la legge di annullamento del prodotto Conseguenze 3 Propagazione degli errori z z Poiché gli errori di arrotondamento capitano potenzialmente ad ogni operazione, ogni risultato intermedio può esserne soggetto e influenzare i risultati di tutte le operazioni successive. L’accumulo di questi errori viene chiamato propagazione degli errori. Esempio di propagazione degli errori Amplificazione dell’errore di 10n volte 4 Cause di errore nel calcolo di un’espressione razionale z Gli errori dipendono • Dalle caratteristiche della funzione caratteristiche insite nel problema • Dall’algoritmo usato per il calcolo , quindi da Errore inerente e condizionamento Dati perturbati Operazioni esatte Dati Risultati 5 Errore inerente e condizionamento Errore relativo sui dati z z Errore relativo sui risultati Se è grande rispetto a allora il problema è mal condizionato, cioè a piccole variazioni dei dati corrispondono grandi variazioni dei risultati. Il condizionamento è una caratteristica del problema ed esprime quanto esso sia sensibile ad una variazione dei dati Errore algoritmico e stabilità Dati esatti Operazioni con errori Dati Risultati 6 Errore algoritmico e stabilità z z Un algoritmo si dice stabile se non è troppo sensibile agli errori introdotti con le operazioni di macchina La stabilità è una proprietà dell’algoritmo, non del problema Errore totale Dati perturbati Operazioni con errori Dati Risultati 7 Parametri per l’analisi degli errori Errori assoluti sui dati iniziali algoritmico totale Errori relativi sui dati iniziali algoritmico totale Analisi del primo ordine z Si sono trascurati i termini di secondo grado: Non si è considerato il termine di secondo grado 8 Tecniche di analisi dell’errore Errore algoritmico Analisi in avanti dell’errore algoritmico z z z Si basa sul teorema dell’errore Si calcola l’errore relativo del risultato finale rispetto agli errori relativi introdotti dalle singole operazioni dell’algoritmo; Ci limitiamo ad una analisi del primo ordine, pertanto vengono trascurati i termini di secondo grado 9 Somma di 3 numeri, algoritmo 1 Si trascurano i termini Fattori di amplificazione degli errori delle singole operazioni Indice algoritmico z z Si definisce come la somma dei valori assoluti dei fattori di amplificazione Il fattore di amplificazione dell’errore dell’ultima operazione è sempre 1, quindi l’indice algoritmico è un numero > 1 10 Somma di 3 numeri, algoritmo 2 Confronto di algoritmi z z Dati due algoritmi per il calcolo di una stessa espressione, alg1 ed alg2, si dice che alg1 è più stabile di alg 2 se Questo confronto dipende dai dati 11 Somma di tre numeri: confronto degli algoritmi Il secondo algoritmo è più stabile per i valori assunti dai dati Differenza di quadrati, algoritmo 1 12 Differenza di quadrati, algoritmo 1 Confronto tra i due algoritmi z Si vuole determinare per quali valori di a e di b l’algoritmo 2 è più stabile dell’algoritmo 1 Se alg2 è più stabile di alg1 13 Somma di n numeri, algoritmo Stabilità dell’algoritmo z z Se gli xi sono do segno concorde, allora Tuttavia conviene sommare i numeri dal più piccolo al più grande 14 Esempio, t=7, β=10, arrotondamento Risultato esatto Somma in ordine inverso Risultato esatto L’errore relativo è 10 volte più piccolo 15 Funzioni non razionali z z Funzioni trigonometriche, logaritmi, esponenziali Vengono approssimate mediante una successione di operazioni algebriche elementari Somma di numeri di segno discorde z Conviene sommare prima tutti i positivi, poi sommare i valori assoluti si quelli negativi ed infine sottrarre i risultati. 16 Approssimazione dell’esponenziale con la serie di Taylor z z z Se x < 0 si sommano quantità con segno discorde e ordini di grandezza differente Alternativa: se x<0 Altri problemi se x grande 17