An Introduction to Parallel and Vector Scientific Computing, Cambridge Texts in Applied Mathematics