NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Matters Computational (2010) [pdf] (jjj.de)
rramadass 3 days 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/ and 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).

nyankosensei 3 days ago [-]
I 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. 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). The code and additional resources are available at 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 2 days ago [-]
Glad 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.
Alifatisk 3 days ago [-]
I 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.

rramadass 2 days ago [-]
I 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/

2) Wikipedia - https://en.wikipedia.org/wiki/Numerical_Recipes

3) Alternatives - https://www.stat.uchicago.edu/~lekheng/courses/302/wnnr/nr-a...

tgv 3 days ago [-]
Numerical 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 3 days ago [-]
I would give Numerical Recipes a pass.
leoc 3 days ago [-]
Is there a single more modern and/or generally better alternative, as far as you know?
rramadass 2 days ago [-]
I 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-a...

sfpotter 2 days ago [-]
Another 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 1 days ago [-]
Would 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.
sfpotter 15 hours ago [-]
A general pitfall in numerical methods is settling on a bad old method without understanding what all your options are. It's easy to get stuck on suboptimal methods, especially if you don't look at more recent references and the literature. Not all new methods are good; lots of old methods are great. There are a dozen different ways to solve any given problem. Usually, each method will be ~equally as hard for you the implementer to understand, but they can have wildly different performance characteristics. This is the main reason to avoid looking at something like Numerical Recipes---it will get you stuck in a local minimum.

I'll try to give books that are good starting points and provide a useful and correct orientation for each topic. For each of these topics, there are many, many other books. I don't know all the books---I'm sure I'm missing other great references.

General numerical analysis reference: Suli & Mayers, Stoer & Bulirsch, Ridgway Scott's book. There are many others---these are the ones I like. Suli & Mayers is truly excellent. Stoer & Bulirsch is comprehensive.

Linear algebra, etc: Trefethen & Bau, "Matrix Computations". Yousef Saad's books. Greenbaum's book. There are other key topics not covered much by these, namely sparse direct solvers. Tim Davis has a good intro book. Martinsson has a new book on fast direct solvers---unclear how useful such solvers are in general.

Approximation theory: "Approximation Theory and Approximation Practice" by Trefethen. Extremely important book. Many numerical methods for solving 1D problems (rootfinding, approximation, optimization, solving differential equations, nonlinear boundary value problems, representing special functions, etc) are made completely obsolete by using Chebyshev approximation, at least when the function you're working with is analytic (and even when not, you can get very far by using a "Chebyshev spline"). If all you're doing is calculus on a computer, this is probably the only book you need to read.

Optimization: Nocedal & Wright. Boyd & Vandenberghe. Bertsekas has great books.

Interval arithmetic: Moore, Kearfott & Cloud. This topic doesn't get as much play in the academic applied math/scientific computing/numerical analysis community, which is a real shame, IMO. Gives you the basic tools to get into verified numerics, where you can write algorithms which work provably correctly, allowing you to avoid epsilon hacking to some extent. E.g., "do X if |small number| < eps, otherwise do Y". Without verified numerics it's impossible to build correct algorithms on these kinds of predicates with floating point arithmetic).

This covers what I would consider the "basic" topics. At least, if you're doing something else that's higher level (like solving PDEs), you need stuff from this toolbox.

rramadass 1 days ago [-]
The point was not to dismiss NR but use it as a good start to know about various algorithms (ignore the idiotic software licensing terms). Agreed that for usage itself, a well known library is to be preferred (my first goto is GSL) unless one knows (and needs) better.

The list of alternatives itself is from 2001 and hence does not have later published books. A google search brings up other discussions on alternatives.

sfpotter 2 days ago [-]
There 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.)
sarosh 3 days ago [-]
This is the PDF of the following 2011 book focused on FFTs and fast arithmetic for both real numbers and finite fields. https://www.amazon.com/Matters-Computational-Ideas-Algorithm... The author is Jörg Arndt: born 1964 in Berlin, Germany. Study of theoretical physics at the University of Bayreuth, and the Technical University of Berlin, Diploma in 1995. PhD in Mathematics, supervised by Richard Brent, at the Australian National University, Canberra, in 2010.
Pinus 3 days ago [-]
Given the title, I expected him to be a major general!
3 days ago [-]
cytocync 3 days ago [-]
[dead]
sidcool 3 days ago [-]
[flagged]
djmips 3 days ago [-]
But we will download it and put it in our special folder.
MonkeyClub 21 hours ago [-]
>> This is so enticing to read, but alas, life is so short.

Seneca has a brief treatise "On the brevity of life" that counters this exact feeling.

In sum, it's not that life is too short (and the art too long), it's rather that we're not optimal in our use of life.

It's worth a read - or a save in the special folder :)

anonzzzies 3 days ago [-]
... next to my 40000 other papers / books / sites that I MUST read.
betimsl 3 days ago [-]
Glad that I'm not the only one doing just that.
gessha 3 days ago [-]
If only we spent less time collecting things on Hacker News and more time actually pursuing our interests…
anonzzzies 3 days ago [-]
I have reality -> that's the thing i'm working on, which happens to be a bunch of very hard problems which I need resolved as that's for a client. Then I have a dream -> that's the thing I want to do before I expire. And most theory is for the dreams, but the 'easier' project already needs a lot of research & effort.
sidcool 3 days ago [-]
May be collecting things on HN is the interest of people here.
3 days ago [-]
shsj 3 days ago [-]
[flagged]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 10:48:54 GMT+0000 (UTC) with Wasmer Edge.