chapter 2 roundoff errors
play

Chapter 2: Roundoff Errors Uri M. Ascher and Chen Greif Department - PowerPoint PPT Presentation

September 2, 2013 Chapter 2: Roundoff Errors Uri M. Ascher and Chen Greif Department of Computer Science The University of British Columbia { ascher,greif } @cs.ubc.ca Slides for the book A First Course in Numerical Methods (published by SIAM,


  1. September 2, 2013 Chapter 2: Roundoff Errors Uri M. Ascher and Chen Greif Department of Computer Science The University of British Columbia { ascher,greif } @cs.ubc.ca Slides for the book A First Course in Numerical Methods (published by SIAM, 2011) http://www.ec-securehost.com/SIAM/CS07.html

  2. Roundoff Errors Goals Goals of this chapter • To describe how numbers are stored in a floating point system; • to get a feeling for the almost random nature of rounding error; • to identify different sources of roundoff error growth and explain how to dampen their cummulative effect. Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 1 / 1

  3. Roundoff Errors Outline Outline • The essentials (We will do only this) • Floating point systems • Roundoff error accumulation • The IEEE standard Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 2 / 1

  4. Roundoff Errors Motivation Roundoff Errors • Roundoff error is generally inevitable in numerical algorithms involving real numbers. • People often like to pretend they work with exact real numbers, ignoring roundoff errors, which may allow concentration on other algorithmic aspects. • However, carelessness may lead to disaster! • This chapter provides two options for studying roundoff errors: • The essentials : just enough to know what issues to expect. • In this course we will take this option . • The fuller version. Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 3 / 1

  5. Roundoff Errors Motivation Roundoff Errors • Roundoff error is generally inevitable in numerical algorithms involving real numbers. • People often like to pretend they work with exact real numbers, ignoring roundoff errors, which may allow concentration on other algorithmic aspects. • However, carelessness may lead to disaster! • This chapter provides two options for studying roundoff errors: • The essentials : just enough to know what issues to expect. • In this course we will take this option . • The fuller version. Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 3 / 1

  6. Roundoff Errors Motivation Roundoff Errors • Roundoff error is generally inevitable in numerical algorithms involving real numbers. • People often like to pretend they work with exact real numbers, ignoring roundoff errors, which may allow concentration on other algorithmic aspects. • However, carelessness may lead to disaster! • This chapter provides two options for studying roundoff errors: • The essentials : just enough to know what issues to expect. • In this course we will take this option . • The fuller version. Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 3 / 1

  7. Roundoff Errors The essentials The essentials We will consider: • Real number representation – floating point system • Rounding unit • IEEE standard • Roundoff error accumulation • Rough appearance of roundoff errors Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 4 / 1

  8. Roundoff Errors The essentials Real number representation: decimal ( 2 8 6 6 6 ) × 10 0 = 2 . 666 × 10 0 . 3 ≃ 10 0 + 10 1 + 10 2 + 10 3 An instance of the floating point representation ± d 0 .d 1 · · · d t − 1 × 10 e fl( x ) = ( d 0 10 0 + d 1 10 1 + · · · + d t − 2 10 t − 2 + d t − 1 ) × 10 e = ± 10 t − 1 for t = 4 , e = 0 . Note that d 0 > 0 : normalized floating point representation. Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 5 / 1

  9. Roundoff Errors The essentials Real number representation: decimal ( 2 8 6 6 6 ) × 10 0 = 2 . 666 × 10 0 . 3 ≃ 10 0 + 10 1 + 10 2 + 10 3 An instance of the floating point representation ± d 0 .d 1 · · · d t − 1 × 10 e fl( x ) = ( d 0 10 0 + d 1 10 1 + · · · + d t − 2 10 t − 2 + d t − 1 ) × 10 e = ± 10 t − 1 for t = 4 , e = 0 . Note that d 0 > 0 : normalized floating point representation. Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 5 / 1

  10. Roundoff Errors The essentials Real number representation: decimal ( 2 8 6 6 6 ) × 10 0 = 2 . 666 × 10 0 . 3 ≃ 10 0 + 10 1 + 10 2 + 10 3 An instance of the floating point representation ± d 0 .d 1 · · · d t − 1 × 10 e fl( x ) = ( d 0 10 0 + d 1 10 1 + · · · + d t − 2 10 t − 2 + d t − 1 ) × 10 e = ± 10 t − 1 for t = 4 , e = 0 . Note that d 0 > 0 : normalized floating point representation. Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 5 / 1

  11. Roundoff Errors The essentials Real number representation: binary The decimal system is convenient for humans; but computers prefer binary. • In binary the (normalized) representation of a real number x is ± (1 .d 1 d 2 d 3 · · · d t − 1 d t d t +1 · · · ) × 2 e x = ± (1 + d 1 2 + d 2 4 + d 3 8 + · · · ) × 2 e , = with binary digits d i = 0 or 1 and exponent e . • Floating point representation: with a fixed number of digits t ± (1 . ˜ d 1 ˜ d 2 ˜ d 3 · · · ˜ d t − 1 ˜ d t ) × 2 e fl( x ) = Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 6 / 1

  12. Roundoff Errors The essentials Real number representation: binary The decimal system is convenient for humans; but computers prefer binary. • In binary the (normalized) representation of a real number x is ± (1 .d 1 d 2 d 3 · · · d t − 1 d t d t +1 · · · ) × 2 e x = ± (1 + d 1 2 + d 2 4 + d 3 8 + · · · ) × 2 e , = with binary digits d i = 0 or 1 and exponent e . • Floating point representation: with a fixed number of digits t ± (1 . ˜ d 1 ˜ d 2 ˜ d 3 · · · ˜ d t − 1 ˜ d t ) × 2 e fl( x ) = Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 6 / 1

  13. Roundoff Errors The essentials Determining digits How to determine digits ˜ d i ? Rounding : { ± 1 .d 1 d 2 d 3 · · · d t × 2 e d t +1 = 0 fl( x ) = otherwise . to nearest even Then the relative floating point error is bounded by rounding unit | fl( x ) − x | ≤ 1 2 · 2 − t . | x | Recommendation: prove this important bound! Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 7 / 1

  14. Roundoff Errors The essentials Determining digits How to determine digits ˜ d i ? Rounding : { ± 1 .d 1 d 2 d 3 · · · d t × 2 e d t +1 = 0 fl( x ) = otherwise . to nearest even Then the relative floating point error is bounded by rounding unit | fl( x ) − x | ≤ 1 2 · 2 − t . | x | Recommendation: prove this important bound! Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 7 / 1

  15. Roundoff Errors The essentials Determining digits How to determine digits ˜ d i ? Rounding : { ± 1 .d 1 d 2 d 3 · · · d t × 2 e d t +1 = 0 fl( x ) = otherwise . to nearest even Then the relative floating point error is bounded by rounding unit | fl( x ) − x | ≤ 1 2 · 2 − t . | x | Recommendation: prove this important bound! Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 7 / 1

  16. Roundoff Errors The essentials Determining digits How to determine digits ˜ d i ? Rounding : { ± 1 .d 1 d 2 d 3 · · · d t × 2 e d t +1 = 0 fl( x ) = otherwise . to nearest even Then the relative floating point error is bounded by rounding unit | fl( x ) − x | ≤ 1 2 · 2 − t . | x | Recommendation: prove this important bound! Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 7 / 1

  17. Roundoff Errors The essentials IEEE standard word Double precision (64 bit word) s = ± b =11 -bit exponent f =52 -bit fraction Rounding unit : η = 1 2 · 2 − 52 ≈ 1 . 1 × 10 − 16 Can have also single precision (32 bit word). Then t = 23 and η = 2 − 24 ≈ 6 . 0 × 10 − 8 . Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 8 / 1

  18. Roundoff Errors The essentials IEEE standard word Double precision (64 bit word) s = ± b =11 -bit exponent f =52 -bit fraction Rounding unit : η = 1 2 · 2 − 52 ≈ 1 . 1 × 10 − 16 Can have also single precision (32 bit word). Then t = 23 and η = 2 − 24 ≈ 6 . 0 × 10 − 8 . Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 8 / 1

  19. Roundoff Errors The essentials IEEE standard word Double precision (64 bit word) s = ± b =11 -bit exponent f =52 -bit fraction Rounding unit : η = 1 2 · 2 − 52 ≈ 1 . 1 × 10 − 16 Can have also single precision (32 bit word). Then t = 23 and η = 2 − 24 ≈ 6 . 0 × 10 − 8 . Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 8 / 1

  20. Roundoff Errors The essentials Comparing single and double precision If we represent the number 1/3 in IEEE single precision (32 bits), the error will be approximately how many times larger than if we represent the same number in IEEE double precision (64 bits)? • 2 29 ≈ 5 . 37(10 8 ) • 32 • a little over 2 • 1 (the error will be the same) A B C D Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 9 / 1

  21. Roundoff Errors The essentials IEEE standard • Used by everyone today. • Exact rounding : use guard digits to ensure that relative error in each elementary arithmetic operation is bounded by η . • NaN • Overflow and underflow • Subnormal numbers near 0 . • Many other features... Uri Ascher (UBC Computer Science) CS 303 September 2, 2013 10 / 1

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend