Operazioni aritmetiche con il calcolatore

Non è detto che i risultati delle operazioni tra numeri macchina siano ancora dei numeri macchina. Ci sono dei bit di guardia che permettono di rappresentare l'operazione in maniera quasi esatta, e poi si converte il risultato in numero macchina.

Somma[modifica | modifica wikitesto]

Per eseguire la somma algebrica :

  1. rappresento e con i loro floating, cioè
  2. dopo aver sommato faccio il floating del risultato

cioè

L'errore relativo , e si pone . non un infinitesimo.
Al primo ordine, si ha
Considerando l'errore relativo al primo ordine:
e in base al teorema sulla round of unit
Distinguo due casi:

  1. Se i due numeri hanno segno concorde, allora e sono frazioni proprie, e sono minori o uguali ad 1. Allora l'errore relativo è maggiorato al primo ordine da . L'operazione è "stabile", e non dipende dai dati.
  2. Nel caso di segno discorde, l'errore dipende dai dati, e non è sempre "stabile", perché può capitare il fenomeno della cancellazione numerica.
Esempio 1.6

Supponiamo . Considero

In aritmetica esatta
Per il calcolatore
Non c'è nessuna cifra esatta.
La somma fra due numeri quasi uguali in valore assoluto e con segno opposto, si ha un errore molto elevato dovuto all'approssimazione. Questo fenomeno viene chiamato cancellazione numerica.

 

L'errore relativo totale è fatto al primo ordine da tre termini:

  1. , errore locale generato nell'operazione;
  2. errore relativo al dato moltiplicato per un coefficiente , ed è
  3. errore relativo al dato , moltiplicato per

Allora danno l'errore di rappresentazione sui dati, mentre , detti coefficienti di amplificazione.

L'errore totale al primo ordine è

(coefficiente lungo il ramo moltiplicato per errore)

Esercizio 1.1

Se l'operazione si scrive come allora

Verificare che questo è vero per i risultati ottenuti per la somma, e dimostrarlo nel caso di moltiplicazione e divisione.

 

Nel caso della somma:

quindi
Nel caso della moltiplicazione ricavo il risultato con i due procedimenti:

  1. Procedimento 1: viene eseguita dal calcolatore come
    e considerando che e ottengo:
    e al primo ordine ottengo:
    e l'errore relativo è:
  2. Procedimento 2:
    quindi

Derivazione dei coefficienti di amplificazione[modifica | modifica wikitesto]

Voglio calcolare . Ipotizzo che sia sufficientemente regolare, e che non ci sia errore nel calcolo del valore di , ma solo nella rappresentazione dei dati.

Chiamo , e ne considero il floating, cioè .

Caso 1:
Considerando , moltiplico numeratore e denominatore per :
caso 2: n generico

Divisione[modifica | modifica wikitesto]

Sappiamo che
Quindi
Considerando l'errore relativo:
e si ottiene lo stesso risultato della moltiplicazione, cioè l'operazione di divisione non dipende dai dati.
e ancora .

 PrecedenteSuccessivo