Prerequisites: Undergraduate multivariate calculus and linear algebra. Programming experience strongly recommended but not required.
Description: This course is intended to provide a practical introduction to computational problem solving. Topics covered include: the notion of well-conditioned and poorly conditioned problems, with examples drawn from linear algebra; the concepts of forward and backward stability of an algorithm, with examples drawn from floating point arithmetic and linear-algebra; basic techniques for the numerical solution of linear and nonlinear equations, and for numerical optimization, with examples taken from linear algebra and linear programming; principles of numerical interpolation, differentiation and integration, with examples such as splines and quadrature schemes; an introduction to numerical methods for solving ordinary differential equations, with examples such as multistep, Runge Kutta and collocation methods, along with a basic introduction of concepts such as convergence and linear stability; An introduction to basic matrix factorizations, such as the SVD; techniques for computing matrix factorizations, with examples such as the QR method for finding eigenvectors; Basic principles of the discrete/fast Fourier transform, with applications to signal processing, data compression and the solution of differential equations.
This is not a programming course but programming in homework projects with MATLAB/Octave and/or C is an important part of the course work. As many of the class handouts are in the form of MATLAB/Octave scripts, students are strongly encouraged to obtain access to and familiarize themselves with these programming environments.
Bau III, D., & Trefethen, L.N. (1997). Numerical Linear Algebra. Philadelphia, PA: Society for Industrial & Applied Mathematics
Quarteroni, A.M., & Saleri, F. (2006). Texts in Computational Science & Engineering [Series, Bk. 2]. Scientific Computing with MATLAB and Octave (2nd ed.). New York, NY: Springer-Verlag
Otto, S.R., & Denier, J.P. (2005). An Introduction to Programming and Numerical Methods in MATLAB. London: Springer-Verlag London