5 ms·
This book sits somewhere between "Hackers Delight" and "Numerical Recipes". The coverage is truly broad and detailed. It walks you through an implementation by
by rramadass 2y ago
This book sits somewhere between "Hackers Delight" and "Numerical Recipes". The coverage is truly broad and detailed. It walks you through an implementation by the author called FXT (a library of algorithms) - https://www.jjj.de/fxt/ https://www.jjj.de/fxt/ and https://www.jjj.de/ https://www.jjj.de/
For some reason, the book is not well known and the author hates to advertise. But this is truly one of a kind book and deserves all the adulation from us (i own a print version).
- Alifatisk 2y agoI borrowed Hackers Delight from my local library, even though I didn’t fullt grasp every chapter I still found the book interesting and beautiful. Planning on buying it. I’ll check out Numerical Recipes and Matters Computational ideas etc.
- tgv 2y agoNumerical Recipes is an old book, and received its share of criticism. It's also expensive, so beware before you buy. E.g. "`This chapter describes numerical methods for ODE's from the viewpoint of 1970."
- sfpotter 2y agoI would give Numerical Recipes a pass.
- leoc 2y agoIs there a single more modern and/or generally better alternative, as far as you know?
- sfpotter 2y agoThere isn't a single authoritative reference. It really depends on what you're doing. Numerical analysis and scientific computing are huge fields. If you have a specific area you're interested in, I can probably point you in the right direction. (Source: I did a PhD and postdoc in this field and research and develop numerical methods every day in industry. I have... a lot of books on this topic.)
- rramadass 2y agoI disagree with the gp; Numerical Recipes should be the first one to consult simply because its breadth of coverage gives you a very good starting point. Then checkout other books based on your needs. However, here are some suggested alternatives - https://www.stat.uchicago.edu/~lekheng/courses/302/wnnr/nr-alt.html https://www.stat.uchicago.edu/~lekheng/courses/302/wnnr/nr-a...
- sfpotter 2y agoAnother good approach can be to start by prototyping something in MATLAB, numpy/scipy, or Julia, and then consult their docs when whatever you're doing is falling short in some way. All of these computing environments have extensive references. Look up the function you're using in their docs and you'll find links to papers and books with more context. Being able to "help yourself" in numerical methods basically requires that you're comfortable in the literature. This assumes that you have a very sophisticated and precise need which is not satisfied by what existing libraries offer. If you have some quick one-off need, copying something from Numerical Recipes is a bad idea. Bugs in numerical methods can be very subtle and difficult to diagnose in a way that normal discrete algorithms aren't. If you've never heard of the asymptotic order of convergence of a numerical algorithm, how are you possibly going to detect that you have a bug there, let alone fix it? In my experience, most people who have one-off needs don't have the requisite background in numerical analysis to get themselves out of trouble when things go wrong. A better approach is to just use a library. There are lots of options for simple stuff. If you do have a sophisticated need, you will outgrow what Numerical Recipes offers very quickly. There are some good books in the list you linked, but that list is also very outdated. Notably absent: any of Trefethen's books (ATAP in particular), Nocedal and Wright's "Numerical Optimization", Stoer & Bulirsch, anything about convex optimization, anything about the finite element method, anything about geometry or CAD, anything about Monte Carlo, anything about special functions, and on and on...
- leoc 2y agoWould you have the time and inclination to have a go at doing your own list sometime, perhaps? I'm sure it might be very widely appreciated.
- rramadass 2y agoI am quite sure that very few people can "fully grasp" everything in the three books mentioned. The subject matter is inherently difficult. The way i approach them is as a catalog of reference implementations which i can consult, copy from and modify as needed. The idea is to become aware of knowledge that one didn't know before. Some caveats; consider criticisms of Numerical Recipes book as advisory and not gospel. When reading these sorts of books you are looking to understand the algorithms (w.r.t. a reference implementation) and not bother with programming style/software engineering discipline etc. which are all irrelevant in this case. The specialized domain knowledge is what is important and not software techniques. Here are some links to the above; 1) Numerical Recipes book website - https://www.numerical.recipes/ https://www.numerical.recipes/ 2) Wikipedia - https://en.wikipedia.org/wiki/Numerical_Recipes https://en.wikipedia.org/wiki/Numerical_Recipes 3) Alternatives - https://www.stat.uchicago.edu/~lekheng/courses/302/wnnr/nr-alt.html https://www.stat.uchicago.edu/~lekheng/courses/302/wnnr/nr-a...
- nyankosensei 2y agoI completely agree that this is a great resource. BTW, the Springer site book link is https://link.springer.com/book/10.1007/978-3-642-14764-7 https://link.springer.com/book/10.1007/978-3-642-14764-7. I’m thankful that the author has made the book and code freely available. The author also co-authored a book about historical and state-of-the-art pi computations called Pi Unleashed (https://link.springer.com/book/10.1007/978-3-642-56735-3 https://link.springer.com/book/10.1007/978-3-642-56735-3). The code and additional resources are available at https://extras.springer.com/?query=978-3-642-56735-3 https://extras.springer.com/?query=978-3-642-56735-3. Though somewhat dated (circa 2000), there’s a lot of fascinating information in the 229 Mb zip download, including a 133 char C program (pitiny.c) that computes 15000 digits of pi.
- ZeroTalent 2y agoGlad you mentioned Pi Unleashed. That tiny pitiny.c program is legendary in its own right. It really highlights the minimalism—squeezing out every bit of performance and precision.