I'm looking for an introductory book on numerical methods.
I'm beginning to learn to program (in Haskell, a functional language, if that would affect the recommendations). The reason I want such a book is to practice my programming skills by implementing easy math-related algorithms. For example, calculations of transcendental or special functions (perhaps the Gamma function and Bessel functions) and interesting constants, solving differential equations (by Runge-Kutta and series solutions, for example), implementing things like Newton-Raphson approximation, primality testing (Miller-Rabin, for example) and so on.
I would prefer something with a wide sampling of algorithms. I'm looking for breadth, not depth. My intention is to use this as sort of a programming exercise book. I care about having a lot of different, fun, and hopefully somewhat simple algorithms to implement.
I would say I have a fairly good mathematical background, so don't shy away from recommending something that is proof based or theoretical at times. If the book includes a lot of mathematics, great! I'm always up for learning more math. I don't have formal computer science training, but I would be willing to do a small amount of reading on the basics of algorithms and data structures if I had to. If the book included this, that would be great.
I should mention that I haven't taken more than an introductory course in ODEs and have no experience with PDEs other than solving the basic heat and wave equations, so I would not be able to understand or appreciate advanced material in these areas (I get the impression that solving PDEs numerically is a big, important field). However, I do know some harmonic analysis, so seeing fast Fourier transforms might be fun.