# Valore assoluto

In matematica, il valore assoluto o modulo di un numero reale $x$ è una funzione che associa a $x$ un numero reale non negativo secondo la seguente definizione: se $x$ è non negativo, il suo valore assoluto è $x$ stesso; se $x$ è negativo, il suo valore assoluto è $-x$. Ad esempio, il valore assoluto sia di $3$ che di $-3$ è $3$. Il valore assoluto di un numero $x$ si indica con $|x|$.

## Valore assoluto di un numero reale

Nel caso di numeri reali, il valore assoluto si definisce come la seguente funzione a tratti:
    $|x|:=\left\{{\begin{matrix}x,&{\mbox{se }}x\geq 0\\-x,&{\mbox{se }}x<0\end{matrix}}\right.$
oppure
    $|x|:=\max\{x,-x\}$
oppure come composizione di 2 funzioni algebriche
    $|x|:={\sqrt {x^{2}}}$
o mediante le parentesi di Iverson:
    $|x|:=-x[x<0]+x[x\geq 0].$
Se rappresentiamo i numeri reali sulla retta reale, allora il valore assoluto di un numero può essere visto come la sua distanza dallo zero. Concetti che generalizzano quest'idea sono la nozione matematica di distanza e quella di norma, che talvolta usa la stessa notazione del valore assoluto.

## Proprietà

Il valore assoluto ha le seguenti proprietà:
* $|a|\geq 0;$
* $|a|=0$ se e solo se $a=0;$
* $|ab|=|a||b|;$
* $\left|{\frac {a}{b}}\right|={\frac {|a|}{|b|}}$ (con $b\neq 0$);
* $|-a|=|a|;$
* $|a+b|\leq |a|+|b|$ (la disuguaglianza triangolare);
* $|a-b|\geq {\Big |}|a|-|b|{\Big |}$ (lipschitzianità del valore assoluto);
* $|a-b|=0$ se e solo se $a=b;$
* $|a|\leq b$ se $-b\leq a\leq b;$
* $|a|\geq b$ se $a\leq -b\vee a\geq b.$
Le ultime due proprietà sono spesso sfruttate nella soluzione delle disequazioni del tipo:
    $|x-3|\leq 9;$
    $-9\leq x-3\leq 9;$
    $-6\leq x\leq 12.$

## Funzione modulo

Per argomenti reali, la funzione valore assoluto $f(x)=|x|$ è pari, continua ovunque e derivabile per $x\neq 0$. Tale funzione non è invertibile, in quanto non iniettiva: per ogni valore del codominio ci sono due numeri (un numero ed il suo opposto) con lo stesso valore assoluto (tranne che nel caso dello zero).

## Trasformazioni con il modulo

Una funzione $f(x)$ può essere trasformata a seconda di cosa sia l'argomento del modulo: in una funzione del tipo $|f(x)|$ il modulo rende positivo ciò che è negativo e lascia positivo ciò che è positivo; pertanto il grafico della funzione risulterà simmetrizzato rispetto all'asse $x$ negli intervalli in cui $f(x)<0$. Se l'argomento del modulo è anche la variabile indipendente della funzione, ovvero è del tipo $f(|x|)$, la funzione diviene pari; ne consegue che la parte di grafico a sinistra dell'asse $y$ ($x<0$) viene cancellata e rimpiazzata dalla simmetria rispetto all'asse $y$ della parte di grafico a destra di questi ($x>0$).

## Generalizzazioni

Il termine valore assoluto è solitamente utilizzato in ambito reale. Generalizzando tale nozione ai numeri complessi, ai vettori e a più generali spazi metrici, si utilizza più frequentemente il termine modulo.

### Numeri complessi

Nel caso di un numero complesso $z$ il modulo è definito come
    $|z|={\sqrt {\operatorname {Re} (z)^{2}+\operatorname {Im} (z)^{2}}},$
dove $\operatorname {Re} (z)$ è la parte reale del numero e $\operatorname {Im} (z)$ la parte immaginaria. Dunque $|z|$ è la distanza fra l'origine e $z$ nel piano complesso. Questa definizione coincide con la precedente se il numero complesso $z$ è un numero reale.
In maniera equivalente si può definire il modulo di $z\in \mathbb {C}$ come $|z|={\sqrt {z\,{\overline {z}}}}$, dove ${\overline {z}}$ è il complesso coniugato di $z$.
Questa definizione di modulo su $\mathbb {C}$ soddisfa le proprietà dalla 1 alla 7 sopra indicate: infatti, identificando il campo complesso con lo spazio $\mathbb {R} ^{2}$, essa non è altro che la norma euclidea del vettore $z=(\operatorname {Re} (z),\operatorname {Im} (z))$.
Per argomenti complessi, la funzione modulo $f(z)=|z|$ è sempre continua ma non è mai differenziabile (si può vedere mostrando che non soddisfa le equazioni di Cauchy-Riemann).

### Modulo di un vettore

Il modulo di un vettore $n$-dimensionale $v=(x_{1},x_{2},\dots ,x_{n})$ è generalmente dato da:
    $\left|v\right|={\sqrt {x_{1}^{2}+x_{2}^{2}+...+x_{n}^{2}}}$
Si noti che $|v|$ è la distanza del vettore $v$ dall'origine degli assi e che oltre al termine modulo si utilizza spesso il termine norma euclidea o pitagorica (in quanto in 2 dimensioni questa formula è proprio il teorema di Pitagora).
L'utilizzo di questo termine si spiega con il fatto che il modulo come scritto qui può considerarsi un caso particolare, all'interno dello spazio euclideo, della nozione di norma di un vettore di uno spazio normato o di una matrice: l'insieme dei reali e l'insieme dei complessi si possono infatti considerare spazi normati unidimensionali e insiemi di matrici $1\times 1$.

## Programmare il valore assoluto

Gran parte dei linguaggi di programmazione forniscono nelle proprie librerie matematiche una funzione per il calcolo del valore assoluto, ad esempio Nel linguaggio C il valore assoluto di un numero è calcolato dalle funzioni abs, labs, llabs (in C99), fabs, fabsf, e fabsl.
Scrivere la versione della funzione per i numeri interi è banale, se non si considera il caso limite in cui venga immesso il più grande numero intero negativo, di seguito un esempio:
Le versioni per numeri a virgola mobile sono più complesse, in quanto devono tener conto dei codici speciali per l'infinito e not-a-number.
Assumendo un input a 32-bit possiamo anche usare l'algebra booleana per produrre un valore assoluto senza usare salti condizionali, così:
$abs(x)=(x\oplus (x>>31))-(x>>31)$
Infatti se x è positivo, x >> 31 produrrà 0x0 quindi abs(x) = x, invece se x è negativo x >> 31 produrrà -1 e quindi lo xor effettua il complemento a 1 di x e la sottrazione di -1 il complemento a 2 ottenendo il valore assoluto.