# Operazioni aritmetiche sui numeri reali

I numeri reali sono un insieme di numeri su cui si possono fare delle operazioni, che corrisponderanno a quelle, imparate in forma elementare, che vengono fatte sui suoi sottoinsiemi, come i razionali e i naturali. Dovendo enunciare come funzionano le operazioni aritmetiche sui reali, si utilizzerà il concetto di troncata, già usato per definire gli stessi, e il principio di localizzazione di Cantor. Inoltre, poiché la troncata può essere vista come un concetto abbastanza simile all'approssimazione, si può anche osservare una correlazione tra il numero di cifre della troncata e la conseguente precisione del risultato dell'operazione aritmetica mediante approssimazione decimale finita.

## Somma
### Definizione

La prima cosa da fare per cercare di definire la somma tra numeri reali è legata al concetto di diseguaglianza tra numeri: se infatti consideriamo due numeri $a$ e $b$, possiamo stimarli dall'alto e dal basso con dei numeri più grandi e più piccoli, ovvero possiamo scrivere:
    $x\leq a\leq y$
    $w\leq b\leq z$
Adesso possiamo utilizzare le proprietà della somma e scrivere come conseguenza che:
    $x+w\leq a+b\leq y+z.$
In pratica abbiamo visto che possiamo stimare la somma tra due numeri tra le somme di numeri che sono più grandi o più piccoli degli addendi.
Sappiamo anche, dalla definizione delle troncate di un numero reale s che:
    $\left[s\right]_{n}\leq \ s\leq \ \left[s\right]^{n}$
Quindi possiamo scrivere questa relazione per i nostri due addendi, a e b:
    $\left[a\right]_{n}\leq \ a\leq \ \left[a\right]^{n}$
    $\left[b\right]_{n}\leq \ b\leq \ \left[b\right]^{n}$
Da questo e da quanto osservato prima deriva il fatto che:
    $\left[a\right]_{n}+\left[b\right]_{n}\leq \ a+b\leq \ \left[a\right]^{n}+\left[b\right]^{n}$
A questo punto possiamo utilizzare il principio di localizzazione applicato a:
    $\left(\left[a\right]_{n}+\left[b\right]_{n},\left[a\right]^{n}+\left[b\right]^{n}\right)$
Ma dal momento che la relazione tra la troncata per difetto e quella per eccesso è:
    $\left[a\right]^{n}=\left[a\right]_{n}+10^{-n}$
Questa successione di intervalli inscatolati, che chiameremo $I_{n}\qquad$, può anche essere scritta come:
    $\left(\left[a\right]_{n}+\left[b\right]_{n},\left[a\right]_{n}+\left[b\right]_{n}+2\cdot 10^{-n}\right)$
Abbiamo dunque ottenuto che la somma di due numeri reali è contenuta in una successione di intervalli, la cui grandezza è arbitrariamente piccola (agendo su $n$), uno dentro l'altro, e quindi possiamo tranquillamente applicare il principio di localizzazione di Cantor per trovare la somma. Dati i due numeri reali $a$ e $b$, la loro somma $a+b$ può essere definita come l'unico numero reale individuato per localizzazione dagli intervalli
    $I_{n}=\left(\left[a\right]_{n}+\left[b\right]_{n},\left[a\right]_{n}+\left[b\right]_{n}+2\cdot 10^{-n}\right)$

### Stima della precisione

Grazie alla definizione di somma di numeri reali attraverso una successione di intervalli in cui essa è contenuta, possiamo stimare l'errore che commettiamo nella somma di due numeri reali, troncati alla n-esima cifra. Infatti poiché la successione di intervalli in questione è
    $I_{n}=\left(\left[a\right]_{n}+\left[b\right]_{n},\left[a\right]_{n}+\left[b\right]_{n}+2\cdot 10^{-n}\right)$
la sua ampiezza sarà:
    $2\cdot 10^{-n}$
In pratica dunque l'errore è di due unità sull'ultima cifra, e quindi se sommiamo due numeri reali troncati per esempio alla quinta cifra, sapremo che l'errore del risultato si limita solo alla quinta cifra, per cui quelle precedenti l'ultima sono esatte. In generale se chiamiamo con m il numero di cifre decimali degli addendi, e con n le cifre decimali esatte che si vogliono ottenere (nel risultato), allora si dovrà rispettare la relazione:
    $m\geq \ n+1$

## Differenza e opposto

La differenza tra numeri reali si definisce come un caso particolare della somma $(o+(-p))$ utilizzando il concetto di opposto di un numero reale, e quindi procedendo nella solita maniera, cioè con le troncate e la localizzazione. Si definisce quindi opposto di un numero reale $t$ il numero reale $-t$ definito per localizzazione dalla successione di intervalli:
    $I_{n}=\left(-\left[t\right]^{n},-\left[t\right]_{n}\right)=\left(-\left[t\right]_{n}-10^{-n},-\left[t\right]_{n}\right)$

## Prodotto
### Definizione

Per definire il prodotto prenderemo in considerazione due numeri reali positivi, tralasciando il caso di quelli negativi; questo viene fatto dal momento che quando si moltiplicano reali aventi segni discordi, prima si definisce il prodotto tra i loro valori assoluti, e poi si stabilisce il segno come al solito (positivo se i segni sono concordi, negativo se sono discordi). L'idea da seguire nella definizione del prodotto è assai simile a quella per la somma, anche se più complicata. Innanzitutto consideriamo due numeri reali $x$ e $y$, entrambi positivi per quanto detto prima; come conseguenza delle proprietà della disuguaglianza potremo scrivere:
    $w\leq x\leq z$
    $j\leq y\leq j$
Ovvero li stimiamo dall'alto e dal basso, e poi ancora scrivere:
    $j\times w\leq x\times y\leq j\times z$
Ma per le proprietà delle troncate:
    $\left[x\right]_{n}\leq \ x\leq \ \left[x\right]^{n}$
    $\left[y\right]_{n}\leq \ y\leq \ \left[y\right]^{n}$
E quindi avremo che:
    $\left[x\right]_{n}\left[y\right]_{n}\leq \ xy\leq \ \left[x\right]^{n}\left[y\right]^{n}$
Adesso vediamo a quali intervalli appartiene questo prodotto:
    $xy\in \left(\left[x\right]_{n}\left[y\right]_{n},\left[x\right]^{n}\left[y\right]^{n}\right)$
Ma poiché sappiamo che per un generico reale $e$
    $\left[e\right]^{n}=\left[e\right]_{n}+10^{-n}$
Allora possiamo scrivere la successione di intervalli, a cui daremo il nome di $I_{n}\qquad$, come:
    $ab\in \left(\left[x\right]_{n}\left[y\right]_{n},\left[x\right]_{n}\left[y\right]_{n}+10^{-n}\left(\left[x\right]_{n}+\left[y\right]_{n}\right)+10^{-2n}\right)$
Per utilizzare questi intervalli per localizzare il prodotto occorre provare la seconda ipotesi del principio di Cantor, cioè che l'ampiezza di questi intervalli inscatolati può essere resa minore di
    $10^{-m}\quad \forall m.$
Per fare questo dobbiamo per prima cosa sapere quant'è l'ampiezza dell'intervallo (che è anche la stima dell'errore eventuale dell'operazione, come vedremo dopo); da quanto detto prima possiamo scrivere questo scarto $E$ come:
    $E=10^{-n}\left(\left[x\right]_{n}+\left[y\right]_{n}\right)+10^{-2n}=10^{-n}\left(\left[x\right]_{n}+\left[y\right]_{n}+10^{-n}\right)$
Questo è il valore che dobbiamo dimostrare essere più piccolo di una qualsiasi potenza di 10 (m); poiché con la scrittura di prima è molto difficile fare delle operazioni di confronto, cerchiamo di stimare $E$ per eccesso, grossolanamente. Dal concetto di troncata ricaviamo che, per un generico reale $f$:
    $\left[f\right]_{n}\leq \ \left[f\right]^{n}\leq \ \left[f\right]^{0}=\left[f\right]_{0}+1$
E da questo possiamo allora scrivere:
    $\left[x\right]_{n}\leq \ \left[x\right]^{n}\leq \ \left[x\right]^{0}=\left[x\right]_{0}+1$
    $\left[y\right]_{n}\leq \ \left[y\right]^{n}\leq \ \left[y\right]^{0}=\left[y\right]_{0}+1$
Inoltre, dal momento che $n$ è un numero naturale, allora:
    $10^{-n}\leq \ 1$
Per cui possiamo stimare, per eccesso, $E$ come:
    $10^{-n}\left(\left[x\right]_{0}+1+\left[y\right]_{0}+1+1\right)=10^{-n}\left(\left[x\right]_{0}+\left[y\right]_{0}+3\right)$
Chiameremo per chiarezza il valore tra parentesi $F$: adesso potremo pensare di maggiorare $E$ con:
    $E\leq \ 10^{-n}F$
Cerchiamo ora una potenza di 10 che sia maggiore di $F$, e chiamiamola $10^{h}$; possiamo quindi scrivere:
    $E\leq \ 10^{-n}F\leq \ 10^{-n}\cdot 10^{h}=10^{h-n}$
Quello che abbiamo fatto in pratica è una serie di stime per eccesso, molto grossolane, ma che ci hanno permesso di stimare l'errore in modo più chiaro; adesso infatti possiamo confrontare l'ultima quantità ottenuta con $10^{-m}$, che era quello che ci richiedeva il principio di localizzazione:
    $10^{h-n}\leq \ 10^{-m}\Longrightarrow \ n=m+h$
Abbiamo così ottenuto un valore che va rispettato, nella scelta del numero di cifre dei fattori, per poter applicare Cantor; adesso possiamo dunque definire il prodotto tra numeri reali: dati $x$ e $y$ reali positivi, si definisce il loro prodotto $xy$ come il numero reale definito per localizzazione dagli intervalli
    $I_{n}=\left(\left[x\right]_{n}\left[y\right]_{n},\left[x\right]_{n}\left[y\right]_{n}+10^{-n}\left(\left[x\right]_{n}+\left[y\right]_{n}\right)+10^{-2n}\right)$

### Stima della precisione

Se vogliamo operare una moltiplicazione tra due numeri reali, torna molto utile la condizione necessaria che avevamo supposto per applicare Cantor, ovvero
    $n=m+h$
Ricordiamo che in questo caso $n$, la precisione di cifra con cui si scrivono i fattori (indice della troncata), deve essere scelto pari alla somma tra $m$, che è l'esponente della potenza di 10 dell'errore massimo che si vuole commettere, e $h$, che è l'esponente della potenza di 10 che maggiora Il caso della stima della precisione nel prodotto tra reali è radicalmente diverso da quanto visto per la somma: l'errore nell'addizione è indipendente dagli addendi da sommare ma dipende solo dal numero di cifre con il quale sono calcolati. Invece l'errore del prodotto è enormemente influenzato dalla grandezza dei fattori, come dimostra il fatto che 10 elevato alla $h$ debba essere più grande di $F$ che è
    $\left[x\right]_{0}+\left[y\right]_{0}+3$

## Divisione e inverso

Per descrivere come funzione la divisione tra i numeri reali si è soliti utilizzare il concetto, già descritto, di prodotto moltiplicando un numero (dividendo) per l'inverso di un altro (divisore). Il problema quindi si riduce alla definizione di inverso di un numero reale. Istintivamente verrebbe da utilizzare di nuovo il principio di localizzazione di Cantor (e le troncate), ma questo è impossibile: infatti se dividiamo 1 per un numero decimale finito, la troncata del numero che ci interessa, può accadere di ritrovarci ad operare con serie decimali periodiche. Questa complicazione però può essere superata: se dobbiamo definire la troncata $n$-esima di un numero reale $a$ si utilizza una versione dell'algoritmo di Euclide esteso però ai reali, quindi leggermente modificato. Il suddetto algoritmo può essere così schematizzato:
* Il nostro numero iniziale, detto $L$ è $10^{n}$, il contatore $C$ è 0
* Sottrarre $a$ da $''L''$, questo numero sarà il nuovo $L$; $C$ è incrementato di 1
* Se $L<a$ passare al punto 4, altrimenti ricominciare da 2
* La troncata richiesta è data da $10^{-n}C$
A questo punto possiamo tranquillamente definire il quoziente tra reali con il prodotto.

## Elevamento a potenza

Se consideriamo due numeri reali $f$ e $g$, in cui il primo deve essere strettamente maggiore di 0, possiamo definire la loro potenza attraverso l'esponenziale:
    $f^{g}=e^{g\lg f}\,\!$
Abbiamo quindi ridotto il caso ad un esponenziale, dove $e$ è il numero di Eulero, e $lg$, che si può scrivere anche $''ln''$ o $log_{e}$, è il logaritmo naturale. La formula per la potenza si ricava facilmente dalle proprietà delle potenze e dal fatto che il logaritmo è la funzione inversa dell'esponenziale:
    $f^{g}=\left(e^{lgf}\right)^{g}=e^{g\lg f}$