Numerical analysis Basic notions and error analysis Theorem
Pairwise summation
Builds on Floating-point arithmeticMachine epsilonRound-off error
Statement
Let be floating-point numbers in a system with unit roundoff (see machine epsilon), with no overflow or underflow, and let for . Pairwise summation computes recursively, with if . If , let ; it computes for and for in the same way. Then it sets . If , then
Remarks
The recursion has depth , and each term takes part in at most floating-point additions. Each addition multiplies the term by a factor with , so with , which gives the bound. For terms in double precision, the bound is about , against about for plain recursive summation. The cost is the same additions as recursive summation. In practice the recursion stops at blocks of moderate size that are summed in a simple loop, which gives a bound of order for blocks of size .
Going deeper
For a student
The error bound grows like , against for recursive summation. The Kahan summation algorithm does better still, with a leading term independent of , at about four times the cost. Pairwise summation is the default in several numerical libraries because it costs no extra arithmetic. The same divide-and-conquer pattern appears in the fast Fourier transform, whose rounding errors also grow only logarithmically. For random rounding errors the typical error is even smaller, of order in a statistical model.
Reading path
To understand this page from the ground up, read these 4 pages in order. The foundations come first.
Show the path as a graph
- no evidence level
- Floating-point arithmetic concept
- Machine epsilon concept
- Round-off error concept
- Pairwise summation statement
Further reading
About this page
| Tag | SVSVMWA9NQ |
|---|---|
| URI | m2://SVSVMWA9NQ |
| Kind | statement, theorem |
| Writing | W0 stub |
| MSC | 65G50, 65B10 |
| Status | This copy of the site has no build data. Run m2 status SVSVMWA9NQ. |
| About | Round-off error |
| Uses | Floating-point arithmetic, Machine epsilon, Round-off error |
| Same as |
Markdown · JSON · Edit on GitHub
What this page needs for W1
- an inventory row: the row of the inventory that the node accounts for (0 of 1)
- a source with a locator (0 of 1)
The writing levels say how complete the text of a page is. They do not measure its truth.
What links here
No page links to this page yet.