MATH-GA.2043-001 Scientific Computing
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.
Undergraduate multivariate calculus and linear algebra. Programming experience strongly recommended but not required.