Numerical Algorithms in Python