Indietro | Indice | Successivo |
Scopo: | calcolo dell'epsilon macchina |
Specifiche: | real function eps() |
Descrizione: |
Background del problema
In un sistema aritmetico floating-point a precisione finita ogni elemento ha un proprio intervallo d'elementi neutri: cioè, se x è un numero macchina e y è un numero non nullo, appartenente all'intervallo di rappresentabilità del sistema, può accadere che l'operazione macchina xÅ y dia come risultato x. Se x è uguale a 1, il più piccolo numero positivo e che dia contributo alla somma 1 Åe e cioè tale che: 1Åe = fl(1+e) > 1 è detto epsilon macchina. Si verifica inoltre che, in un sistema aritmetico F(b, t, Emin, Emax) in cui la somma è effettuata con più di t cifre e si usa l'arrotondamento, e=1/2b1-t e cioè è pari alla precisione relativa del sistema. Pertanto l'importanza dell'epsilon macchina è dovuta al fatto che fornisce un modo per calcolare la precisione t del sistema aritmetico di un elaboratore e quindi anche la sua precisione relativa. Descrizione dell'algoritmo L'algoritmo è fondato sull'inizializzazione di una variabile reale al valore 1 e su un ciclo a condizione, nel quale tale variabile è divisa per la base del sistema (b= 2) e sommata a 1. Il ciclo termina quando l'ultimo valore della variabile non dà più contributo alla somma. Il penultimo valore della variabile sarà l'epsilon macchina. Raccomandazioni sull'uso nessuna. |
Bibliografia: | [1], [2] |
Parametri di I/O: |
input: - nessuno output: eps - tipo reale, conterrà l'epsilon macchina |
Indicatori d'errore: | nessuno. |
Routines ausiliarie: | nessuna. |
Tempo d'esecuzione: | complessità asintotica lineare O(t), in funzione della precisione t del sistema aritmetico. |
Memoria richiesta: | nessun array allocato in memoria. |
Accuratezza fornita: | dipendente dalla precisione del sistema aritmetico della macchina. |
Esempio di programma chiamante: |
|
Indietro | Indice | Successivo |