Addizione pitagorica

Sappiamo tutti che l’ipotenusa di un triangolo rettangolo di cateti 3 e 4 è lunga 5. Cosa succede se invece che scrivere \( \sqrt (3^2 + 4^2) = 5 \) decidessimo la formula 3 ⊕ 4 = 5? Avremmo definito una nuova operazione, che possiamo chiamare addizione pitagorica. Che proprietà ha questa operazione? Innanzitutto è commutativa, come la normale addizione: \( a \oplus b = b \oplus a \). È anche associativa: \( ( a \oplus b ) \oplus c a \oplus (b \oplus c) \), e quindi possiamo scrivere \( a \oplus b \oplus c \) senza parentesi, il che tra l’altro ci dà la lunghezza della diagonale maggiore di un parallelepipedo. E ovviamente – non ve lo devo mica dimostrare, vero? – abbiamo che \( a \oplus b \lt a + b \), a meno che uno tra i due operandi sia nullo.

Ma ci sono anche altri usi dell’addizione pitagorica, tanto che molti linguaggi di programmazione la implementano come la funzione hypot (ipotenusa, senza grande fantasia). Per esempio, se dobbiamo convertire un numero in coordinate cartesiane \(a, b\) nell’equivalente in coordinate polari \(r, \theta \) applichiamo le formule \( r = x \oplus y; \theta = \textrm{atan2}(y,x) \). Un altro uso è quello per calcolare il valore efficace, detto anche media quadratica, di due valori, che è dato dalla loro somma pitagorica scalata di un fattore \( \tfrac{1}{\sqrt 2} \); più in generale la media quadratica di \( n \) valori ha come fattore di scala \( \tfrac{1}{n} \).

Una curiosità è che nella maggior parte dei casi pratici di operazioni fatte al computer la radice quadrata serve solo per calcolare l’addizione pitagorica. Soprattutto con i primi calcolatori, quindi, si è cercato di trovare un algoritmo meno complesso computazionalmente, e già che si era lì di trovarlo “robusto”. Se i due operandi sono molto grandi, infatti, il calcolo naïf può portare a un overflow. Nel 1983 hanno così descritto un metodo iterativo che sostituisce man mano ai due numeri di partenza altri due numeri con la stessa somma pitagorica ma col secondo che diventa sempre più piccolo: quando arriva praticamente a zero, per definizione il primo numero è il risultato. Oggi ci sono metodi molto più semplici, anche perché possiamo permetterci il lusso di avere tabelle di lookup molto grandi che riducono enormemente il numero di operazioni necessarie; ma volete mettere il divertimento dei due ricercatori?

Rispondi

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.