Group: data value
Group: mathematics
Topic: bugs
Topic: computational geometry
Topic: error checking in robot programming
Topic: exceptions and undesired events
Topic: FOCUS number system
Topic: real numbers and floating point numbers
Topic: unbounded precision
| |
Summary
All numerical functions on computers have small errors due to a finite number representation. The error varies over the function's domain, making evaluation order important. For instance subtracting two nearly equal numbers is error-prone, as is taking a value near the function's vertical asymptote. Numerical accuracy is provided by small integers, multiple precision arithmetic, string arithmetic, and FOCUS numbers (mul-div only). Error analysis is an important branch of numerical mathematics.
Most systems append a zero digit during normalization. This is correct for exact numbers, such as one, but error prone for real numbers in base 16. With real numbers the correct digit ranges from zero to the floating point number base. The appended zero is at the correct range's boundary, thereby maximizing the possible error. A better solution, tested on a numerical conversion package, is shifting in a half digit (i.e., 8 for a number base of 16) unless the previous digit was a zero (keeps integers exact). (cbb 5/80) Modern floating point hardware uses base 2 instead of base 16. (cbb 5/06)
Subtopic: errors likely
Quote: errors occur frequently in numeric tables; corrections to the Nautical Almanac were themselves in error [»babbC_1864, OK]
| Subtopic: software error
Quote: discrepancies in commercial packages for seismic data processing traced to software errors; caused 1% precision loss per 3000 executable source lines; much worse than cross-platform errors [»hattL10_1994]
| Subtopic: numeric error in geometric computations
Quote: unrestricted geometric computation has potentially unbounded growth in the precision required [»hoffCM3_1989]
| Quote: a geometric object defined by approximate data may not make sense even though it can be drawn [»hoffCM3_1989]
| Subtopic: real vs floating point
Quote: even though computers approximate real operations, ignore this until get programs that would be correct with exact operations [»straC3_1973]
| Subtopic: tracking round-off errors
Quote: AMTRAN generates a warning whenever 4 or more decimal digits are lost in a subtraction [»reinJ11_1971, OK]
| Quote: MicroTool includes lower and upper limit operators to bound operations [»elshJL1_1991]
| Quote: perturbed inputs tracked round-off error degradation fairly closely [»cbb_1990, OK]
| Quote: Guard performs relative debugging with assertions to compare data structures, permutations to identify subarrays, and plots of error surfaces
| Quote: wonglediff identifies numeric instability by running a program multiple times while randomly changing the floating-point rounding mode [»eggePR4_2005]
| Subtopic: bounding numeric error
Quote: to bound numeric error, a programmer must be able to predicate how the compiler generates floating-point operations [»farnC7_1988]
| Quote: programming languages do not support the computation of estimated errors in physical measurements [»dimoT9_1986]
| Subtopic: double vs. single precision
Quote: a program may use double precision for precise products of single precision or for testing near zero results [»farnC7_1988]
| Subtopic: uninitialized as infinity
Quote: in arithmetic can use +-infinity as NIL; so uninitialized variables produce NIL results [»wileDS11_1973, OK]
| Subtopic: recalibration
Quote: if two hundred spot welds, correcting errors in three points can correct errors in all others [»craiJJ4_1987]
| Subtopic: unbounded precision arithmetic
Quote: fast arbitrary-precision addition and multiplication up to a thousand bits; uses floating point numbers; adaptive
| Quote: CORE geometric library offers guaranteed accuracy; up to 150 times slower than machine accuracy [»karaV6_1999]
| Subtopic: reducing floating point errors
QuoteRef: cbb_1973 ;;3/19/74 multiplicative floating point errors: (b[n]-b[n]')*(16^(n-1))(a1+a2/16)((16)) last term if normalization (ca. a1*b1 <. 16) if no normalization, error decreases by ca a1/16
| Subtopic: using error as a signal
Quote: loss of tracking is the termination signal for Sketchpad; finish a drawing with a quick flick of the pen; the tracking program fails [»suthIE5_1963]
|
Related Topics
Group: data value (19 topics, 433 quotes)
Group: mathematics (23 topics, 560 quotes)
Topic: bugs (66 items)
Topic: computational geometry (20 items)
Topic: error checking in robot programming (6 items)
Topic: exceptions and undesired events (29 items)
Topic: FOCUS number system (8 items)
Topic: real numbers and floating point numbers (37 items)
Topic: unbounded precision (9 items)
|