This book seeks to replace existing books with a more rigorous stand-alone text that covers fewer examples but with more proofs, and also provides example computer programs, mainly in Octave/MATLAB but also as spreadsheets and Macsyma scripts, with which students may experiment on real data.