The book has a twofold purpose: for one it provides an easy access to widely tested computer codes for over 130 numerical algorithms. At the same time it gives an informal introduction to the mathematical and computational principles of the underlying methods, as well as practical guidelines to their usage.