En mathématiques la somme pythagoricienne de deux nombres a et b est le nombre , que l'on peut voir comme la longueur de l'hypoténuse d'un triangle rectangle de côtés de longueurs a et b par le théorème de Pythagore. L'opération associée, l'addition pythagoricienne, est commutative et associative. La somme pythagoricienne peut être calculée efficacement sur machine par un algorithme donné par Moler et Morisson, qui s'avère être une application de la méthode de Halley.
Si on note a ⊕ b = , l'opération ainsi définie est commutative et associative, et :
a1 ⊕ a2 ⊕ ... ⊕ an = .
La somme pythagoricienne des longueurs a et b des deux côtés de l'angle droit d'un triangle rectangle est la longueur de l'hypoténuse d'après le théorème de Pythagore. Le calcul de celle-ci donne la norme euclidienne en dimension 2, et plus généralement dans un espace de dimension quelconque. Elle permet ainsi de calculer le module d'un nombre complexe, ou de passer d'une représentation cartésienne à une représentation polaire.
Le calcul peut procèder par élévation au carré de a et b puis racine carrée de la somme, mais si a ou b prennent des valeurs très élevées, le calcul intermédiaire de a2 ou de b2 sur ordinateur peut créer une erreur de dépassement ou de soupassement.
Typiquement, le nombre le plus grand représentable en simple précision est de l'ordre de 3 × 1038 ; ainsi, si a ou b est supérieur à 2 × 1019, le logiciel déclarera le résultat « infini » (erreur de dépassement), même si le résultat final est représentable (par exemple si l'autre longueur est petite en valeur absolue) ; par exemple, . Avec une représentation en double précision, le nombre le plus grand représentable est environ 1,8 × 10308, donc le résultat sera déclaré « infini » si a ou b est supérieur à 1,3 × 10154.
À l'inverse, la valeur absolue la plus petite représentable est environ 1,1 × 10−38 en simple précision et 2,2 × 10−308 en double précision. Ainsi, en simple précision, le calcul pour a = b = 2 × 10−38 donnera 0 (erreur de soupassement), alors que la valeur attendue est représentable et vaut environ 1,4 × 10−38.