Introduction to Scientific Computing: A Matrix-Vector Approach Using MATLAB (2nd Edition)