Chapter 20. Less-Numerical Algorithms http://www.nr.com or call 20.0 Introduction 11-800-72 Cambridge You can stop reading now.You are done with Numerical Recipes,as such.This NUMERICAL RECIPES IN final chapter is an idiosyncratic collection of"less-numerical recipes"which,for one reason or another,we have decided to include between the covers of an otherwise more-numerically oriented book.Authors of computer science texts,we've noticed, like to throw in a token numerical subject (usually quite a dull one-quadrature,for 州Mer5 se to make Press. example).We find that we are not free of the reverse tendency. 9 Programs C:THE ART OF Our selection of material is not completely arbitrary.One topic,Gray codes,was already used in the construction of quasi-random sequences(87.7),and here needs only some additional explication.Two other topics,on diagnosing a computer's floating-point parameters,and on arbitrary precision arithmetic,give additional SCIENTIFIC insight into the machinery behind the casual assumption that computers are useful 6 for doing things with numbers(as opposed to bits or characters).The latter of these topics also shows a very different use for Chapter 12's fast Fourier transform. order COMPUTING The three other topics(checksums,Huffman and arithmetic coding)involve different aspects of data coding,compression,and validation.If you handle a large r Numerical 1888-19920 amount of data-numerical data,even-then a passing familiarity with these Further subjects might at some point come in handy.In 813.6,for example,we already encountered a good use for Huffman coding. Recipes Numerical But again,you don't have to read this chapter.(And you should learn about quadrature from Chapters 4 and 16,not from a computer science text!) (outside Recipes North Software. 20.1 Diagnosing Machine Parameters America). visit website A convenient fiction is that a computer's floating-point arithmetic is "accurate machine enough."If you believe this fiction,then numerical analysis becomes a very clean subject.Roundoff error disappears from view;many finite algorithms become "exact";only docile truncation error (81.3)stands between you and a perfect calculation.Sounds rather naive.doesn't it? Yes,it is naive.Notwithstanding,it is a fiction necessarily adopted throughout most of this book.To do a good job of answering the question of how roundofferror 889
Permission is granted for internet users to make one paper copy for their own personal use. Further reproduction, or any copyin Copyright (C) 1988-1992 by Cambridge University Press. Programs Copyright (C) 1988-1992 by Numerical Recipes Software. Sample page from NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5) g of machinereadable files (including this one) to any server computer, is strictly prohibited. To order Numerical Recipes books or CDROMs, visit website http://www.nr.com or call 1-800-872-7423 (North America only), or send email to directcustserv@cambridge.org (outside North America). Chapter 20. Less-Numerical Algorithms 20.0 Introduction You can stop reading now. You are done with Numerical Recipes, as such. This final chapter is an idiosyncratic collection of “less-numerical recipes” which, for one reason or another, we have decided to include between the covers of an otherwise more-numerically oriented book. Authors of computer science texts, we’ve noticed, like to throw in a token numerical subject (usually quite a dull one — quadrature, for example). We find that we are not free of the reverse tendency. Our selection of material is not completely arbitrary. One topic, Gray codes, was already used in the construction of quasi-random sequences (§7.7), and here needs only some additional explication. Two other topics, on diagnosing a computer’s floating-point parameters, and on arbitrary precision arithmetic, give additional insight into the machinery behind the casual assumption that computers are useful for doing things with numbers (as opposed to bits or characters). The latter of these topics also shows a very different use for Chapter 12’s fast Fourier transform. The three other topics (checksums, Huffman and arithmetic coding) involve different aspects of data coding, compression, and validation. If you handle a large amount of data — numerical data, even — then a passing familiarity with these subjects might at some point come in handy. In §13.6, for example, we already encountered a good use for Huffman coding. But again, you don’t have to read this chapter. (And you should learn about quadrature from Chapters 4 and 16, not from a computer science text!) 20.1 Diagnosing Machine Parameters A convenient fiction is that a computer’s floating-point arithmetic is “accurate enough.” If you believe this fiction, then numerical analysis becomes a very clean subject. Roundoff error disappears from view; many finite algorithms become “exact”; only docile truncation error (§1.3) stands between you and a perfect calculation. Sounds rather naive, doesn’t it? Yes, it is naive. Notwithstanding, it is a fiction necessarily adopted throughout most of this book. To do a good job of answering the question of how roundoff error 889