# Alpha max plus beta min algorithm

The locus of points that give the same value in the algorithm, for different values of alpha and beta.

The alpha max plus beta min algorithm is a high-speed approximation of the square root of the sum of two squares. The square root of the sum of two squares, also known as Pythagorean addition, is a useful function, because it finds the hypotenuse of a right triangle given the two side lengths, the norm of a 2-D vector, or the magnitude ${\displaystyle |z|={\sqrt {a^{2}+b^{2}}}}$ of a complex number z = a + bi given the real and imaginary parts.

The algorithm avoids performing the square and square-root operations, instead using simple operations such as comparison, multiplication, and addition. Some choices of the α and β parameters of the algorithm allow the multiplication operation to be reduced to a simple shift of binary digits that is particularly well suited to implementation in high-speed digital circuitry.

The approximation is expressed as

${\displaystyle |z|=\alpha \,\!\mathbf {Max} +\beta \,\!\mathbf {Min} }$,

where ${\displaystyle \mathbf {Max} }$ is the maximum absolute value of a and b and ${\displaystyle \mathbf {Min} }$ is the minimum absolute value of a and b.

For the closest approximation, the optimum values for ${\displaystyle \alpha \,\!}$ and ${\displaystyle \beta \,\!}$ are ${\displaystyle \alpha _{0}={\frac {2\cos {\frac {\pi }{8}}}{1+\cos {\frac {\pi }{8}}}}=0.96043387...}$ and ${\displaystyle \beta _{0}={\frac {2\sin {\frac {\pi }{8}}}{1+\cos {\frac {\pi }{8}}}}=0.39782473...}$, giving a maximum error of 3.96%.

${\displaystyle \alpha \,\!}$ ${\displaystyle \beta \,\!}$ Largest error (%) Mean error (%)
1/1 1/2 11.80 8.68
1/1 1/4 11.61 3.20
1/1 3/8 6.80 4.25
7/8 7/16 12.50 4.91
15/16 15/32 6.25 3.08
${\displaystyle \alpha _{0}}$ ${\displaystyle \beta _{0}}$ 3.96 2.41