Most Helpful Customer Reviews
26 of 32 people found the following review helpful:
5.0 out of 5 stars
This book deserves 10 stars, April 30, 2002
This review is from: Math Toolkit for Real-Time Programming (Paperback)
Run, don't walk to get this book!
Remember that numerical analysis class you took, in which you came away really understanding nothing besides how to plug-and-chug? Those "black box" numerical integration routines with "magic" coefficients that came from who knows where? Did you ever get the relationship between z transforms and "backward differences?"
This book explains all this and more in a clear, readable, and dare I say, even entertaining presentation (I read it in one sitting cover-to-cover, which is typically impossible for a technical book.)
Over the years, I've purchased quite a few technical reference books. Most seem to be weighty self-congratulatory monuments to the authors' personal ability to present fantastically-terse-yet-look-how-rigorous mathematical proofs. Maybe 1 in 100 is actually written in a down-to-earth, accessible way without pages of dense jargon and overly complicated formulations.
"Math Toolkit for Real-time Programming" is simply the most well-written numerical programming book I've ever come across, and perhaps one of the best technical books on any subject, period. I wish all books were this readable.
Do yourself a favor and get this book ASAP.
-------------
2008 Update: As I go back and read this review 6 years later, it sounds a bit over the top, but I _still_ really like this book. It's rare to find a technical book that can communicate the "common sense" behind mathematical concepts and algorithms without requiring the reader to have a Math PhD. Does the book address every possible topic in numerical computing? No, it is not a comprehensive reference, but the topics it DOES cover are very well explained indeed. I DEFY you to find a better explanation anywhere of the basic techniques used in numerical integration. I just wish Dr. Crenshaw would write more books and explain other stuff I use but never really "got" in EE class.
A few of the reviewers complained about the relative uselessness of the included programming material -- I would say their comments are largely on target (although the author clearly states that the purpose of the material is to illustrate the frequency of "gotchas" in even the most simplistic of programs); however, the true value in this book is not the programming examples, it's the insight given into the techniques. Dr. Crenshaw has a passion for communicating the intuition behind the methods (I also encourage you to check out his columns in Embedded Systems Programming.) Finding someone who can pull that off successfully is rare. The numerical techniques he discusses (doing raw math without the benefit of library routines) are broken down to their basics and completely described in a manner I have seen in no other book. The reason I wrote this review is because I _understood_ a lot more after reading this book than any others covering similar material (Acton; Ralston & Rabinowitz; standard BSEE/CompSci textbooks etc).
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
23 of 29 people found the following review helpful:
2.0 out of 5 stars
Falls short of expectations, May 15, 2005
This review is from: Math Toolkit for Real-Time Programming (Paperback)
I have yet to find a book that explains "complex" math algorithms well and give clear coding examples that follow. This book is no exception. I suppose after reading some of the other reviews, I had high expectations for this book, but it failed to deliver.
My number one complaint about the book is that there are very little or no comments in the code. There are pages of equations and derivations of the equations followed by code of a function. I didn't understand how the code related to the equations. It would have been a tremendous help to put a one line comment next to each section or line of the code referring to an equation number. Many equations deal with variables like x, y, or a. It doesn't help me much when a variable inside of code is called "x". I have no idea of its use or where it came from. It would have been even better if after each section of the math, the author put the line of code it referred to, and after the algortihm was complete, write the whole function down.
Another minor issue I had with the book was that it was written in the first person and the author tried to make humorous remarks throughout. I understand that he was trying to make it fun and while some people may appreciate it, I found it annoying.
The author does not seem to follow his own advice. The book is clearly not written for any one programming language. Most of the code is written in C, but he has references to pascal, c++, and says that fortran is basically a dead language but refers to fortran throughout the book. He makes it a point to state that he has good coding style and has a whole chapter on constants. He #defines One as 1.0 to avoid wasting run time cycles from converting an int to a double. The compiler may do this, but he adds "to take the chance is bad programming practice". I can see his point, but the problem is he never uses defines in his own coding samples when he writes code like double sum = 0;
The book is divided into 3 sections. The first section deals with constants and errors. There was no math and I am an experienced programmer and did not find much use for this.
The second section of the book is about square roots, sin, arctan, and logs. The algorithms seemed ok, and as expected, are probably faster and less precise than the standard library functions of a compiler. I've seen them before and they were not useful to me because many of them required an initial guess to be input. I work with graphics and such a broad range of numbers that I don't have an initial guess and therefore can't use the methods.
The third section deals with numerical calculus and was the major reason I bought the book. I thought the refresher and review of basic calculus was good. It was a bit stale in my mind, so it was nice to read about it again. However, I want to be able to apply the code in the book to real world programming. The key link and understanding of the code as it relates to the equations just wasn't there. Also, I was hoping there would be more code. There are whole chapters that don't have a single line of code written in it.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
10 of 13 people found the following review helpful:
5.0 out of 5 stars
Nice reference for embedded system programmers, October 20, 2000
This review is from: Math Toolkit for Real-Time Programming (Paperback)
Nice reference for embedded system programmers If you have the last 10 years of Embedded Systems Programming magazines, then you will already have 80% of the basics covered in this book, but the book is a great reference to read and have handy. Material is expanded and well written, so I'd recommend it for any one working with embedded control systems.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|