Pythagorean addition

{{short description|Hypotenuse of right triangle from its sides}}

{{Use mdy dates|cs1-dates=ly|date=January 2025}}

{{Use list-defined references|date=January 2025}}

{{CS1 config|mode=cs1}}

File:Triangle Sides ABC.svg {{mvar|c}} of a right triangle with sides {{mvar|a}} and {{mvar|b}} is the Pythagorean sum of {{mvar|a}} and {{mvar|b}}.]]

In mathematics, Pythagorean addition is a binary operation on the real numbers that computes the length of the hypotenuse of a right triangle, given its two sides. Like the more familiar addition and multiplication operations of arithmetic, it is both associative and commutative.

This operation can be used in the conversion of Cartesian coordinates to polar coordinates, and in the calculation of Euclidean distance. It also provides a simple notation and terminology for the diameter of a cuboid, the energy-momentum relation in physics, and the overall noise from independent sources of noise. In its applications to signal processing and propagation of measurement uncertainty, the same operation is also called addition in quadrature.{{r|hygiene}} A scaled version of this operation gives the quadratic mean or root mean square.

It is implemented in many programming libraries as the hypot function, in a way designed to avoid errors arising due to limited-precision calculations performed on computers. Donald Knuth has written that "Most of the square root operations in computer programs could probably be avoided if [Pythagorean addition] were more widely available, because people seem to want square roots primarily when they are computing distances."{{r|knuth}}

Definition

- class="wikitable floatleft" style="margin: 0;"

! colspan=2 style="padding: 0 1em" | Hypotenuse calculator

{{calculator label|label={{font color|orange|{{mvar|a}}}}|for=a}}{{calculator|size=3|default=3|min=1|step=1|id=a}}
{{calculator label|label={{font color|green|{{mvar|b}}}}|for=b}}{{calculator|size=3|default=4|min=1|step=1|id=b}}
{{calculator label|label={{font color|purple|{{math|1=c = ab}}}}|for=c}}{{calculator|type=plain|precision=5|default=5|formula=sqrt(a*a+b*b)|NaN-text= |id=c}}

{{calculator|type=hidden|default=5|formula=max(a,b,c)|id=maxabc}}

{{calculator|type=hidden|default=1|formula=1-ifpositive(min(a,b,c),0,1)|id=allnonneg}}

According to the Pythagorean theorem, for a right triangle with side lengths a and b, the length of the hypotenuse can be calculated as \sqrt{a^2+b^2}. This formula defines the Pythagorean addition operation, denoted here as \oplus: for any two real numbers a and b, the result of this operation is defined to be{{r|replacing}} a\oplus b = \sqrt{a^2+b^2 \vphantom)}.

For instance, the special right triangle based on the Pythagorean triple (3,4,5) gives 3\oplus 4=5.This example is from {{harvtxt|Moler|Morrison|1983}}. {{harvtxt|Dubrulle|1983}} uses two more integer Pythagorean triples, (119,120,169) and (19,180,181), as examples. However, the integer result of this example is unusual: for other integer arguments, Pythagorean addition can produce a quadratic irrational number as its result.{{r|ellpag}}

Properties

The operation \oplus is associative{{r|meaningful|incertis}} and commutative.{{r|meaningful|dubrulle}} Therefore, if three or more numbers are to be combined with this operation, the order of combination makes no difference to the result:

x_1 \oplus x_2 \oplus \cdots \oplus x_n=\sqrt{x_1^2 + x_2^2 + \cdots + x_n^2}.

Additionally, on the non-negative real numbers, zero is an identity element for Pythagorean addition. On numbers that can be negative, the Pythagorean sum with zero gives the absolute value:{{r|replacing}} x\oplus 0=|x|. The three properties of associativity, commutativity, and having an identity element (on the non-negative numbers) are the defining properties of a commutative monoid.{{r|penner|deza}}

Applications

=Distance and diameter=

File:add_in_quadrature.svg, or equivalently the length of the vector sum of orthogonal vectors.]]

The Euclidean distance between two points in the Euclidean plane, given by their Cartesian coordinates (x_1,y_1) and (x_2,y_2), is{{r|manglik}} (x_1-x_2)\oplus (y_1-y_2). In the same way, the distance between three-dimensional points (x_1,y_1,z_1) and (x_2,y_2,z_2) can be found by repeated Pythagorean addition as{{r|manglik}} (x_1-x_2)\oplus (y_1-y_2)\oplus (z_1-z_2).

Repeated Pythagorean addition can also find the diagonal length of a rectangle and the diameter of a rectangular cuboid. For a rectangle with sides a and b, the diagonal length is a\oplus b.{{r|meyer|grieser}} For a cuboid, the diameter is the longest distance between two points, the length of the body diagonal of the cuboid. For a cuboid with side lengths a, b, and c, this length is a\oplus b\oplus c.{{r|grieser}}

=Coordinate conversion=

Pythagorean addition (and its implementation as the hypot function) is often used together with the atan2 function (a two-parameter form of the arctangent) to convert from Cartesian coordinates (x,y) to polar coordinates (r,\theta):{{r|unix|mathcw}}

\begin{align}

r&=x\oplus y=\mathsf{hypot}(x,y)\\

\theta&=\mathsf{atan2}(y,x).\\

\end{align}

=Quadratic mean and spread of deviation=

The root mean square or quadratic mean of a finite set of n numbers is \tfrac{1}{\sqrt n} times their Pythagorean sum. This is a generalized mean of the numbers.{{r|weisberg}}

The standard deviation of a collection of observations is the quadratic mean of their individual deviations from the mean. When two or more independent random variables are added, the standard deviation of their sum is the Pythagorean sum of their standard deviations.{{r|weisberg}} Thus, the Pythagorean sum itself can be interpreted as giving the amount of overall noise when combining independent sources of noise.{{r|measuring}}

If the engineering tolerances of different parts of an assembly are treated as independent noise, they can be combined using a Pythagorean sum.{{r|hicks}} In experimental sciences such as physics, addition in quadrature is often used to combine different sources of measurement uncertainty.{{r|xphys}} However, this method of propagation of uncertainty applies only when there is no correlation between sources of uncertainty,{{r|drosg}} and it has been criticized for conflating experimental noise with systematic errors.{{r|barlow}}

=Other=

File:Einstein-triangle-kinetic-energy.svg, visualized as a right triangle]]

The energy-momentum relation in physics, describing the energy of a moving particle, can be expressed as the Pythagorean sum E = mc^2 \oplus pc,

where m is the rest mass of a particle, p is its momentum, c is the speed of light, and E is the particle's resulting relativistic energy.{{r|kuehn}}

When combining signals, it can be a useful design technique to arrange for the combined signals to be orthogonal in polarization or phase, so that they add in quadrature.{{r|weagant|eimerl}} In early radio engineering, this idea was used to design directional antennas, allowing signals to be received while nullifying the interference from signals coming from other directions.{{r|weagant}} When the same technique is applied in software to obtain a directional signal from a radio or ultrasound phased array, Pythagorean addition may be used to combine the signals.{{r|ppbfb}} Other recent applications of this idea include improved efficiency in the frequency conversion of lasers.{{r|eimerl}}

In the psychophysics of haptic perception, Pythagorean addition has been proposed as a model for the perceived intensity of vibration when two kinds of vibration are combined.{{r|vibration}}

In image processing, the Sobel operator for edge detection consists of a convolution step to determine the gradient of an image followed by a Pythagorean sum at each pixel to determine the magnitude of the gradient.{{r|sobel}}

Implementation

In a 1983 paper, Cleve Moler and Donald Morrison described an iterative method for computing Pythagorean sums, without taking square roots.{{r|replacing}} This was soon recognized to be an instance of Halley's method,{{r|dubrulle}} and extended to analogous operations on matrices.{{r|incertis}}

Although many modern implementations of this operation instead compute Pythagorean sums by reducing the problem to the square root function,

they do so in a way that has been designed to avoid errors arising from the limited-precision calculations performed on computers. If calculated using the natural formula,

r = \sqrt{x^2 + y^2},

the squares of very large or small values of x and y may exceed the range of machine precision when calculated on a computer. This may to an inaccurate result caused by arithmetic underflow and overflow, although when overflow and underflow do not occur the output is within two ulp of the exact result.{{r|jemupl|mulsal|ziv}} Common implementations of the hypot function rearrange this calculation in a way that avoids the problem of overflow and underflow and are even more precise.{{r|improved}}

If either input to hypot is infinite, the result is infinite. Because this is true for all possible values of the other input, the IEEE 754 floating-point standard requires that this remains true even when the other input is not a number (NaN).{{r|nan}}

=Calculation order=

The difficulty with the naive implementation is that x^2+y^2 may overflow or underflow, unless the intermediate result is computed with extended precision. A common implementation technique is to exchange the values, if necessary, so that |x|\ge|y|, and then to use the equivalent form

r = |x| \sqrt{1 + \left(\frac{y}{x}\right)^2}.

The computation of y/x cannot overflow unless both x and y are zero. If y/x underflows, the final result is equal to |x|, which is correct within the precision of the calculation. The square root is computed of a value between 1 and 2. Finally, the multiplication by |x| cannot underflow, and overflows only when the result is too large to represent.{{r|improved}}

One drawback of this rearrangement is the additional division by x, which increases both the time and inaccuracy of the computation.

More complex implementations avoid these costs by dividing the inputs into more cases:

  • When x is much larger than y, x\oplus y\approx|x|, to within machine precision.
  • When x^2 overflows, multiply both x and y by a small scaling factor (e.g. 2−64 for IEEE single precision), use the naive algorithm which will now not overflow, and multiply the result by the (large) inverse (e.g. 264).
  • When y^2 underflows, scale as above but reverse the scaling factors to scale up the intermediate values.
  • Otherwise, the naive algorithm is safe to use.

Additional techniques allow the result to be computed more accurately than the naive algorithm, e.g. to less than one ulp.{{r|improved}} Researchers have also developed analogous algorithms for computing Pythagorean sums of more than two values.{{r|norms}}

=Fast approximation=

The alpha max plus beta min algorithm is a high-speed approximation of Pythagorean addition using only comparison, multiplication, and addition, producing a value whose error is less than 4% of the correct result. It is computed as a\oplus b\approx \alpha\cdot\max(a,b)+\beta\cdot\min(a,b)

for a careful choice of parameters \alpha and \beta.{{r|lyons}}

=Programming language support=

Pythagorean addition function is present as the hypot function in many programming languages and their libraries. These include:

CSS,{{r|css}}

D,{{r|d}}

Fortran,{{r|Fortran}}

Go,{{r|go}}

JavaScript (since ES2015),{{r|manglik}}

Julia,{{r|julia}}

MATLAB,{{r|matlab}}

PHP,{{r|php}} and

Python.{{r|python}}

C++11 includes a two-argument version of hypot, and a three-argument version for x\oplus y\oplus z has been included since C++17.{{r|cpp}}

The Java implementation of hypot{{r|java}} can be used by its interoperable JVM-based languages including Apache Groovy, Clojure, Kotlin, and Scala.{{r|scala}}

Similarly, the version of hypot included with Ruby extends to Ruby-based domain-specific languages such as Progress Chef.{{r|ruby}} In Rust, hypot is implemented as a method of floating point objects rather than as a two-argument function.{{r|rust}}

Metafont has Pythagorean addition and subtraction as built-in operations, under the symbols ++ and +-+ respectively.{{r|knuth}}

History

The Pythagorean theorem on which this operation is based was studied in ancient Greek mathematics, and may have been known earlier in Egyptian mathematics and Babylonian mathematics; see {{slink|Pythagorean theorem|History}}.{{r|maor}} However, its use for computing distances in Cartesian coordinates could not come until after René Descartes invented these coordinates in 1637; the formula for distance from these coordinates was published by Alexis Clairaut in 1731.{{sfnp|Maor|2007|pp=133–134}}

The terms "Pythagorean addition" and "Pythagorean sum" for this operation have been used at least since the 1950s,{{r|hicks|vandan}} and its use in signal processing as "addition in quadrature" goes back at least to 1919.{{r|weagant}}

From the 1920s to the 1940s, before the widespread use of computers, multiple designers of slide rules included square-root scales in their devices, allowing Pythagorean sums to be calculated mechanically.{{r|morrell|dempster|dawson}} Researchers have also investigated analog circuits for approximating the value of Pythagorean sums.{{r|steler}}

References

{{reflist|refs=

{{cite conference|contribution=Systematic errors: facts and fictions|first=Roger|last=Barlow|arxiv=hep-ex/0207026|title=Conference on Advanced Statistical Techniques in Particle Physics|location=Durham, UK|date=March 22, 2002|pages=134–144}}

{{cite book|title=Learning Modern C++ for Finance|first=Daniel|last=Hanson|publisher=O'Reilly|year=2024|isbn=9781098100773|page=25|url=https://books.google.com/books?id=8EQvEQAAQBAJ&pg=PA25}}

{{Cite web|url=https://www.zdnet.com/article/css-to-get-support-for-trigonometry-functions/|title=CSS to get support for trigonometry functions|last=Cimpanu|first=Catalin|website=ZDNet|language=en|date=March 10, 2019|access-date=2019-11-01}}

{{Cite book|contribution-url=https://dlang.org/phobos/std_math_algebraic.html|contribution=std.math.algebraic|title=Phobos Runtime Library Reference, version 2.109.1|publisher=D Language Foundation|access-date=2025-02-21}}

{{cite journal

| last = Dawson | first = Bernhard H.

| date = July 1946

| doi = 10.1126/science.104.2688.18.c

| issue = 2688

| journal = Science

| jstor = 1675936

| page = 18

| title = An improved slide rule for the addition of squares

| volume = 104}}

{{cite journal

| last = Dempster | first = J. R.

| date = April 1946

| doi = 10.1126/science.103.2677.488.b

| issue = 2677

| journal = Science

| jstor = 1671874

| page = 488

| title = A circular slide rule

| volume = 103}}

{{cite book

| last1 = Deza | first1 = Michel Marie | author1-link = Michel Deza

| last2 = Deza | first2 = Elena | author2-link = Elena Deza

| doi = 10.1007/978-3-662-44342-2

| isbn = 9783662443422

| page = 100

| publisher = Springer

| title = Encyclopedia of Distances

| year = 2014}}

{{cite book

| last = Drosg | first = Manfred

| contribution = Dealing with Internal Uncertainties

| doi = 10.1007/978-3-642-01384-3_8

| isbn = 9783642013843

| pages = 151–172

| publisher = Springer Berlin Heidelberg

| title = Dealing with Uncertainties

| year = 2009}}

{{cite journal |first=Augustin A. |last=Dubrulle |title=A class of numerical methods for the computation of Pythagorean sums |journal=IBM Journal of Research and Development |volume=27 |issue=6 |pages=582–589 |year=1983 |url=https://scholar.archive.org/work/24dboinszvcq5e6xb54awaeb3u |doi=10.1147/rd.276.0582 | citeseerx = 10.1.1.94.3443 }}

{{cite journal

| last = Eimerl | first = D.

| date = August 1987

| doi = 10.1109/jqe.1987.1073521

| issue = 8

| journal = IEEE Journal of Quantum Electronics

| pages = 1361–1371

| title = Quadrature frequency conversion

| volume = 23| bibcode =

}}

{{cite journal

| last1 = Ellis | first1 = Mark W.

| last2 = Pagni | first2 = David

| date = May 2008

| doi = 10.5951/mtms.13.9.0520

| issue = 9

| journal = Mathematics Teaching in the Middle School

| jstor = 41182606

| pages = 520–525

| publisher = National Council of Teachers of Mathematics

| title = Exploring segment lengths on the Geoboard

| volume = 13}}

{{Cite report|url=https://wg5-fortran.org/N1851-N1900/N1891.pdf|title=The new features of Fortran 2008|contribution=9.6 Error and gamma functions|page=20|first=John|last=Reid|date=March 13, 2014|publisher=ISO/IEC JTC 1/SC 22, WG5 international Fortran standards committee|type=Report N1891}}

{{cite book|title=Programming in Go: Creating Applications for the 21st Century|first=Mark|last=Summerfield|publisher=Pearson Education|year=2012|isbn=9780321774637|page=66|url=https://books.google.com/books?id=CR0dBAAAQBAJ&pg=PA66}}

{{cite book

| last = Grieser | first = Daniel

| contribution = 6.2 The diagonal of a cuboid

| contribution-url = https://books.google.com/books?id=UIlcDwAAQBAJ&pg=PA143

| doi = 10.1007/978-3-319-90321-7

| isbn = 9783319903217

| pages = 143–145

| publisher = Springer International Publishing

| series = Springer Undergraduate Mathematics Series

| title = Exploring Mathematics: Problem-Solving and Proof

| year = 2018}}

{{cite journal

| last = Hicks | first = Charles R.

| date = March 1955

| doi = 10.5951/mt.48.3.0130

| issue = 3

| journal = The Mathematics Teacher

| jstor = 27954826

| pages = 130–132

| publisher = National Council of Teachers of Mathematics

| title = Two problems illustrating the use of mathematics in modern industry

| url = https://scholar.archive.org/work/rpcuqkbefnfy7bgq6hmux7vwhy

| volume = 48}}

{{cite book|title=Statistical Tools for the Comprehensive Practice of Industrial Hygiene and Environmental Health Sciences| first=David L.| last=Johnson |publisher=John Wiley & Sons|year=2017 | isbn= 9781119143017 | contribution=12.2.3 Addition in Quadrature| contribution-url=https://books.google.com/books?id=tRWuDQAAQBAJ&pg=PA289 | page=289}}

{{cite journal

| last = Borges | first = Carlos F.

| arxiv = 1904.09481

| doi = 10.1145/3428446

| issue = 1

| journal = ACM Transactions on Mathematical Software

| pages = 9:1–9:12

| title = Algorithm 1014: An Improved Algorithm for hypot(x, y)

| volume = 47

| year = 2021| s2cid = 230588285

}}

{{cite journal

| last = Incertis | first = F.

| date = March 1985

| doi = 10.1109/tac.1985.1103937

| issue = 3

| journal = IEEE Transactions on Automatic Control

| pages = 273–275

| title = A faster method of computing matrix pythagorean sums

| volume = 30}}

{{cite book|title=Ivor Horton's Beginning Java 2|first=Ivor|last=Horton|publisher=John Wiley & Sons|year=2005|isbn=9780764568749|page=57|url=https://books.google.com/books?id=h0Uhz4lBoF8C&pg=PA57}}

{{cite conference

| last1 = Jeannerod | first1 = Claude-Pierre

| last2 = Muller | first2 = Jean-Michel

| last3 = Plet | first3 = Antoine

| editor1-last = Burgess | editor1-first = Neil

| editor2-last = Bruguera | editor2-first = Javier D.

| editor3-last = de Dinechin | editor3-first = Florent

| contribution = The classical relative error bounds for computing \sqrt{a^2+b^2} and c/\sqrt{a^2+b^2} in binary floating-point arithmetic are asymptotically optimal

| doi = 10.1109/ARITH.2017.40

| pages = 66–73

| publisher = IEEE Computer Society

| title = 24th IEEE Symposium on Computer Arithmetic, ARITH 2017, London, United Kingdom, July 24–26, 2017

| year = 2017}}

{{cite book|title=Beginning Julia Programming: For Engineers and Scientists|first=Sandeep|last=Nagar|publisher=Apress|year=2017|isbn=9781484231715|page=105|url=https://books.google.com/books?id=KmRADwAAQBAJ&pg=PA105}}

{{cite book

| last = Knuth | first = Donald E. | author-link = Donald Knuth

| page = 80

| publisher = Addison-Wesley

| title = The METAFONTbook

| year = 1986}}

{{cite book

| last = Kuehn | first = Kerry

| doi = 10.1007/978-1-4939-1366-4

| isbn = 9781493913664

| series = Undergraduate Lecture Notes in Physics

| page = 372

| publisher = Springer New York

| title = A Student's Guide Through the Great Physics Texts: Volume II: Space, Time and Motion

| url = https://books.google.com/books?id=SfuJBAAAQBAJ&pg=PA372

| year = 2015}}

{{cite book

| last = Lyons | first = Richard G.

| contribution = 13.2 High-speed vector magnitude approximation

| contribution-url = https://books.google.com/books?id=UBU7Y2tpwWUC&pg=PT858

| edition = 3rd

| pages = 13-6 – 13-8

| publisher = Pearson

| title = Understanding Digital Signal Processing

| year = 2010}}

{{cite book|title=Java Script Notes for Professionals|first=Rohit|last=Manglik|publisher=EduGorilla|year=2024|isbn=9789367840320|contribution=Section 14.22: Math.hypot|page=144|contribution-url=https://books.google.com/books?id=jwU6EQAAQBAJ&pg=PA144}}

{{Cite book |last= Maor |first=Eli |title=The Pythagorean Theorem: A 4,000-Year History |location=Princeton, New Jersey |publisher=Princeton University Press |url=https://books.google.com/books?id=Z5VoBGy3AoAC |year=2007 |isbn=978-0-691-12526-8 | pages=4–15}}

{{cite book|title=The Mathematical-Function Computation Handbook: Programming Using the MathCW Portable Software Library|first=Nelson H. F.|last=Beebe|publisher=Springer|year=2017|isbn=9783319641102|page=70|url=https://books.google.com/books?id=OjUyDwAAQBAJ&pg=PA70}}

{{cite book

| last1 = Higham | first1 = Desmond J. | author1-link = Desmond Higham

| last2 = Higham | first2 = Nicholas J. | author2-link = Nicholas Higham

| contribution = 26.9 Pythagorean sum

| contribution-url = https://books.google.com/books?id=8c_ZDQAAQBAJ&pg=PA430

| edition = 3rd

| isbn = 9781611974669

| pages = 430–432

| publisher = Society for Industrial and Applied Mathematics

| title = MATLAB Guide

| year = 2016}}

{{cite journal | last = Falmagne | first = Jean-Claude | author-link = Jean-Claude Falmagne | doi = 10.1007/s00010-015-0339-1 | issue = 2 | journal = Aequationes Mathematicae | mr = 3340218 | pages = 393–435 | title = Deriving meaningful scientific laws from abstract, "gedanken" type, axioms: five examples | volume = 89 | year = 2015| s2cid = 121424613 }}

D. B. Schneider, [https://books.google.com/books?id=BDggcx2N2eQC&pg=PA94 Error Analysis in Measuring Systems], Proceedings of the 1962 Standards Laboratory Conference, page 94

{{cite book|title=Easy Lessons in Mechanical Drawing & Machine Design: Arranged for Self-instruction, Vol. I|first=J. G. A.|last=Meyer|publisher=Industrial Publication Company|year=1902|contribution=225. – To find the diagonal of a rectangle when its length and breadth are given|page=133|contribution-url=https://books.google.com/books?id=cVlFAQAAMAAJ&pg=PA133}}

{{cite journal

| last = Morrell | first = William E.

| date = January 1946

| doi = 10.1126/science.103.2665.113

| issue = 2665

| journal = Science

| jstor = 1673946

| pages = 113–114

| title = A slide rule for the addition of squares

| volume = 103| pmid =

| bibcode =

}}

{{cite arXiv

| last1 = Muller | first1 = Jean-Michel

| last2 = Salvy | first2 = Bruno

| eprint = 2405.03588

| title = Effective quadratic error bounds for floating-point algorithms computing the hypotenuse function

| year = 2024| class = math.NA

}}

{{cite web

|title=Floating point exception tracking and NAN propagation

|first=Agner |last=Fog |authorlink=Agner Fog

|date=2020-04-27 |page=6

|url=https://www.agner.org/optimize/nan_propagation.pdf#page=6

}}

{{citation

| last1 = Lefèvre | first1 = Vincent

| last2 = Louvet | first2 = Nicolas

| last3 = Muller | first3 = Jean-Michel

| last4 = Picot | first4 = Joris

| last5 = Rideau | first5 = Laurence

| article-number = 1

| doi = 10.1145/3568672

| issue = 1

| journal = ACM Transactions on Mathematical Software

| mr = 4567887

| pages = 1–34

| title = Accurate calculation of Euclidean norms using double-word arithmetic

| volume = 49

| year = 2023| url = https://hal.science/hal-03482567v2/file/NormsandDW%20HaLV2.pdf

}}

{{cite book|title=Discrete Mathematics: Proof Techniques and Mathematical Structures|first=R. C.|last=Penner|publisher=World Scientific|year=1999|isbn=9789810240882|url=https://books.google.com/books?id=t5r79vZ9ogoC&pg=PA417|pages=417–418}}

{{cite book|title=Core PHP Programming|first1=Leon|last1=Atkinson|first2=Zeev|last2=Suraski|publisher=Prentice Hall|year=2004|isbn=9780130463463|page=504|contribution=Listing 13.17: hypot|contribution-url=https://books.google.com/books?id=e7D-mITABmEC&pg=PA504}}

{{cite book

| last1 = Powers | first1 = J. E.

| last2 = Phillips | first2 = D. J.

| last3 = Brandestini | first3 = M.

| last4 = Ferraro | first4 = R.

| last5 = Baker | first5 = D. W.

| editor-last = Wang | editor-first = Keith Y.

| contribution = Quadrature sampling for phased array application

| doi = 10.1007/978-1-4684-3755-3_18

| isbn = 9781468437553

| pages = 263–273

| publisher = Springer

| title = Acoustical Imaging: Visualization and Characterization

| volume = 9

| year = 1980}}

{{cite book|title=Learning Scientific Programming with Python|first=Christian|last=Hill|edition=2nd|publisher=Cambridge University Press|year=2020|isbn=9781108787468|page=14|url=https://books.google.com/books?id=XAIHEAAAQBAJ&pg=PA14}}

{{cite journal | last1 = Moler | first1 = Cleve | author1-link = Cleve Moler | last2 = Morrison | first2 = Donald | citeseerx = 10.1.1.90.5651 | doi = 10.1147/rd.276.0577 | issue = 6 | journal = IBM Journal of Research and Development | pages = 577–581 | title = Replacing square roots by Pythagorean sums | url = https://scholar.archive.org/work/vn5a4l3fhfbkzomjj4dypacw7q | volume = 27 | year = 1983}}

{{cite book|title=Learning Chef: A Guide to Configuration Management and Automation|first1=Mischa|last1=Taylor|first2=Seth|last2=Vargo|publisher=O'Reilly Media|year=2014|isbn=9781491945117|contribution=Mathematical operations|page=40|contribution-url=https://books.google.com/books?id=LpY8BQAAQBAJ&pg=PA40}}

{{Cite web|url=https://doc.rust-lang.org/std/primitive.f64.html|title=Primitive Type f64|work=The Rust Standard Library|date=February 17, 2025|access-date=2025-02-22}}

{{cite book|title=Introduction to JVM Languages: Java, Scala, Clojure, Kotlin, and Groovy|first=Vincent|last=van der Leun|publisher=Packt Publishing Ltd|year=2017|isbn=9781787126589|pages=10–11|contribution=Java Class Library|contribution-url=https://books.google.com/books?id=7Hc5DwAAQBAJ&pg=PA10}}

{{cite journal

| last1 = Kanopoulos | first1 = N.

| last2 = Vasanthavada | first2 = N.

| last3 = Baker | first3 = R.L.

| date = April 1988

| doi = 10.1109/4.996

| issue = 2

| journal = IEEE Journal of Solid-State Circuits

| pages = 358–367

| title = Design of an image edge detection filter using the Sobel operator

| volume = 23| bibcode =

}}

{{cite journal

| last1 = Stern | first1 = T. E.

| last2 = Lerner | first2 = R. M.

| date = April 1963

| doi = 10.1109/proc.1963.2206

| issue = 4

| journal = Proceedings of the IEEE

| pages = 593–596

| title = A circuit for the square root of the sum of the squares

| volume = 51}}

{{cite book|title=Unix Programmer's Manual: Reference Guide|edition=4.3 Berkeley Software Distribution Virtual VAX-11 Version|date=April 1986|publisher=Department of Electrical Engineering and Computer Science, University of California, Berkeley|contribution=SIN (3M): Trigonometric functions and their inverses|contribution-url=https://archive.org/details/upm-ref-4.3bsd/page/n257}}

{{cite journal

| last = van Dantzig | first = D.

| journal = Nieuw Archief voor Wiskunde

| mr = 56872

| pages = 129–145

| series = 3rd ser.

| title = Another form of the weak law of large numbers

| url = https://ir.cwi.nl/pub/8252/8252D.pdf

| volume = 1

| year = 1953}}

{{cite journal

| last1 = Yoo | first1 = Yongjae

| last2 = Hwang | first2 = Inwook

| last3 = Choi | first3 = Seungmoon

| date = April 2022

| doi = 10.1109/toh.2022.3144290

| issue = 2

| journal = IEEE Transactions on Haptics

| pages = 405–415

| title = Perceived intensity model of dual-frequency superimposed vibration: Pythagorean sum

| volume = 15| pmid =

}}

{{cite journal

| last = Weagant | first = R. A. | author-link = Roy Alexander Weagant

| date = June 1919

| doi = 10.1109/jrproc.1919.217434

| issue = 3

| journal = Proceedings of the IRE

| pages = 207–244

| title = Reception thru static and interference

| url = https://scholar.archive.org/work/5hvr463fczblfe4fdd2bu4vrze

| volume = 7}} See p. 232.

{{cite book|title=Central Tendency and Variability|volume=83|first=Herbert F.|last=Weisberg|series=Quantitative Applications in the Social Sciences|publisher=Sage|year=1992|isbn=9780803940079|pages=[https://books.google.com/books?id=tPw6b1VXfkoC&pg=PA45 45], [https://books.google.com/books?id=tPw6b1VXfkoC&pg=PA52 52–53]}}

{{cite book|title=Experimental Physics: Principles and Practice for the Laboratory|first=Walter F.|last=Smith|publisher=CRC Press|year=2020|isbn=9781498778688|pages=40–41|url=https://books.google.com/books?id=9LrZDwAAQBAJ&pg=PA40}}

{{cite journal

| last = Ziv | first = Abraham

| doi = 10.1090/S0025-5718-99-01103-5

| issue = 227

| journal = Mathematics of Computation

| jstor = 2584955

| mr = 1648423

| pages = 1143–1148

| title = Sharp ULP rounding error bound for the hypotenuse function

| volume = 68

| year = 1999}}

}}

Category:Operations on numbers

Addition

Category:Numerical analysis