Art of Computer Programming, The: Seminumerical Algorithms, Volume 2
S**H
it served its purpose
this was a gift and the recipient loved it. It came in with excellent condition and arrived in time. BTW the recipient has a job related to the content of the book and hopefully this book had some positive effects.
A**R
A must-have for your reference library!
A leader in his field. Written so concepts are easy to understand. Good reference tool.
U**E
The Classic
A classic it remains. Worth the price and the time.
T**A
the bible of programming;
great college memories
J**S
Harder going than the first one, but still amazing reading
I started reading this book immediately after I finished reading volume 1. I loved volume 1, and I feel the same way about this one, although this was actually a very different sort of book. For one thing, this book was way more mathematical than the first. The first half of volume 1 was all math and the last half was all programming. This book, instead, is almost all math and practically no programming. The author starts by covering random number generators - both implementing and testing them (bet you didn't know that you can actually test the randomness of a random number generator, did you? Knuth can spend a hundred pages showing you a dozen different ways!) This takes up about half the book (chapter 3), and then he moves on to discussing the implementation of arithmetic in computers. Again, you might think that this is worth maybe a dozen pages, but not for Knuth - he spends over two hundred pages discussing more tips and tricks for speeding up arithmetic than I would have guessed existed.I attempted every single exercise in volume 1 and went into this one with the same intent. I got pretty close to at least trying each exercise; the last three sections, which covered exponents, polynomial evaluation and power series, went so deep that I ended up glossing over about half of the exercises in each section (the section on polynomial evaluation has over 70 exercises on its own). The exercises in this book were almost all more difficult, and more mathematically sophisticated, than volume 1 - I wouldn't have believed that was possible, but every time you think you've gone as deep as you can possibly go, Knuth shows you that you're just at the tip of the iceberg. I can't say I solved exercise, but I did at least try almost all of them - don't judge me until you try it yourself!I did love this book, and enjoyed reading it, but I do think that this is one that a practicing programmer outside of very specific domains can probably safely skip - as fascinating as the topics are, and even after taking into consideration that this is not only the authoritative reference but in many cases the only printed material on some subjects - random number generation and lightning-fast (arbitrary precision) arithmetic aren't topics that most programmers have to deal with too often. Still, if you have the time, it is a really fun book to work through.
D**S
A classic
A decent continuation of Knuth’s classic work, this goes into a sufficient level of depth that suits master and apprentice equally well.
V**R
Numbers: random generations and arithmetic
Volume 2 of "The Art of Computer Programming" is about random numbers and also about relearning one of the three Rs from grade school, viz. arithmetic. Each topic gets one chapter.When you generate random numbers in Excel, or VBA, or Perl, or C using functions packaged with the software, you are really using a deterministic algorithm that is not random at all; the results do however look random and so we call them "pseudorandom".Chapter 3 contains four main sections. First a section devoted to the linear congruence method (Xn+1=(aXn + c) mod m) of generating a pseudorandom sequence; with subsections on how to choose good values for a, c, and m. Second we get a section about how to test sequences to find if they are acceptably random or not. Third we find a section on other methods, expanding on linear congruence. Finally in a particularly fascinating section, DK provides a rigorous definition of randomness.I haven't looked much at chapter 4 yet, on arithmetic. In it Knuth covers positional arithmetic, floating point arithmetic, multiplication and division at the machine level, prime numbers and efficient ways of investigating the primeness of very large numbers.Again, DK is thorough and methodical. Again this is not a for dummies book. Again it is about theorems, algorithms, mechanical processes, and timeless truths. Again the exercises are a fascinating blend of the practical (investigate the random generating functions on the computers in your office) to the mathematical (he asks readers to formally prove many of the theorems he cites). And yes, again Knuth uses MIX, that wonderfully archaic fictional 60s machine language. But that should not stop readers; I use Perl.Vincent Poirier, Tokyo
S**S
This book is a classic!
I recently modified a program I wrote so that it would do operations on polynomials with multi-precision coefficients. For this, I turned to Knuth. This 3-volume set is a great starting point for learning how to implement mathematical calculations on a machine.Don't listen to the "Reader" from CA. This person obviously has a bone to pick with Knuth. Maybe (s)he failed one of his classes. Maybe (s)he should write his/her own book on the subject.
Trustpilot
1 month ago
1 day ago