Round-off error
A round-off error,[1] also called rounding error,[2] is the difference between the calculated approximation of a number and its exact mathematical value due to rounding. This is a form of quantization error.[3] One of the goals of numerical analysis is to estimate errors in calculations, including round-off error, when using approximation equations or algorithms, especially when using finitely many digits to represent real numbers (which in theory have infinitely many digits).[4]
When a sequence of calculations subject to rounding error is made, errors may accumulate, sometimes dominating the calculation. In ill-conditioned problems, significant error may accumulate.[5]
Representation error
The error introduced by attempting to represent a number using a finite string of digits is a form of round-off error called representation error.[6] Here are some examples of representation error in decimal representations:
Notation | Representation | Approximation | Error |
---|---|---|---|
1/7 | 0.142 857 | 0.142 857 | 0.000 000 142 857 |
ln 2 | 0.693 147 180 559 945 309 41... | 0.693 147 | 0.000 000 180 559 945 309 41... |
log10 2 | 0.301 029 995 663 981 195 21... | 0.3010 | 0.000 029 995 663 981 195 21... |
∛ 2 | 1.259 921 049 894 873 164 76... | 1.25992 | 0.000 001 049 894 873 164 76... |
√ 2 | 1.414 213 562 373 095 048 80... | 1.41421 | 0.000 003 562 373 095 048 80... |
e | 2.718 281 828 459 045 235 36... | 2.718 281 828 459 045 | 0.000 000 000 000 000 235 36... |
π | 3.141 592 653 589 793 238 46... | 3.141 592 653 589 793 | 0.000 000 000 000 000 238 46... |
Increasing the number of digits allowed in a representation reduces the magnitude of possible round-off errors, but any representation limited to finitely many digits will still cause some degree of round-off error for uncountably many real numbers. Additional digits used for intermediary steps of a calculation are known as guard digits.[7]
Rounding multiple times can cause error to accumulate.[8] For example, if 9.945309 is rounded to two decimal places (9.95), then rounded again to one decimal place (10.0), the total error is 0.054691. Rounding 9.945309 to one decimal place (9.9) in a single step introduces less error (0.045309). This commonly occurs when performing arithmetic operations (See Loss of Significance).
See also
- Precision (arithmetic)
- Truncation
- Rounding
- Loss of significance
- Floating point
- Kahan summation algorithm
- Machine epsilon
- Wilkinson's polynomial
References
- ↑ Butt, Rizwan (2009), Introduction to Numerical Analysis Using MATLAB, Jones & Bartlett Learning, pp. 11–18, ISBN 9780763773762.
- ↑ Ueberhuber, Christoph W. (1997), Numerical Computation 1: Methods, Software, and Analysis, Springer, pp. 139–146, ISBN 9783540620587.
- ↑ Aksoy, Pelin; DeNardis, Laura (2007), Information Technology in Theory, Cengage Learning, p. 134, ISBN 9781423901402.
- ↑ Ralston, Anthony; Rabinowitz, Philip (2012), A First Course in Numerical Analysis, Dover Books on Mathematics (2nd ed.), Courier Dover Publications, pp. 2–4, ISBN 9780486140292.
- ↑ Chapman, Stephen (2012), MATLAB Programming with Applications for Engineers, Cengage Learning, p. 454, ISBN 9781285402796.
- ↑ Laplante, Philip A. (2000). Dictionary of Computer Science, Engineering and Technology. CRC Press. p. 420. ISBN 9780849326912..
- ↑ Higham, Nicholas John (2002). Accuracy and Stability of Numerical Algorithms (2 ed.). Society for Industrial and Applied Mathematics (SIAM). pp. 43–44. ISBN 9780898715217..
- ↑ Volkov, E. A. (1990). Numerical Methods. Taylor & Francis. p. 24. ISBN 9781560320111..
External links
- Roundoff Error at MathWorld.
- Goldberg, David (March 1991). "What Every Computer Scientist Should Know About Floating-Point Arithmetic" (PDF). ACM Computing Surveys. 23 (1): 5–48. doi:10.1145/103162.103163. Retrieved 2016-01-20. (, )
- 20 Famous Software Disasters