Math/CSCI 164: Scientific Computing
This course is meant to introduce you to computational techniques applied to problems in the sciences and engineering. Topics will include: modeling of physical problems, computer implementation, analysis of results; use of mathematical software; numerical methods chosen from: solutions of linear and nonlinear algebraic equations, solutions of ordinary and partial differential equations, finite elements, linear programming, optimization algorithms, and fast Fourier transforms.
Resources
There is no required textbook for this course. My lectures will be primarily based upon Fundamentals of Numerical Computation by Driscoll and Braun. Other excellent references include Numerical Methods for Scientific Computing by Novak, Numerical Linear Algebra with Julia by Darve and Wootters, Numerical Linear Algebra by Trefethen and Bau, and Applied Numerical Linear Algebra by Demmel.
Software
We will frequently program and run numerical experiments in this course. We will work in Julia.
Tentative Course Schedule
Week |
Lecture |
Topic |
FNC Section |
1 |
1 |
Floating point numbers, Conditioning |
1.1, 1.2 |
|
2 |
Algorithms, Stability, Linear algebra review |
1.3, 1.4 |
2 |
3 |
Polynomial interpolation, Linear systems |
2.1, 2.2, 2.3 |
|
4 |
LU factorization, Row pivoting |
2.4, 2.5, 2.6 |
3 |
5 |
Vector and matrix norms, Classical iterative methods |
2.7 |
|
6 |
Conditioning of linear systems, Matrix structure |
2.8, 2.9, 8.1 |
4 |
7 |
Fitting to data, Normal equations, Space of linear systems |
3.1, 3.2 |
|
8 |
QR factorizations |
3.3, 3.4 |
5 |
9 |
Rootfinding methods |
4.1, 4.2 |
|
10 |
Newton's and interpolation-based method |
4.3, 4.4 |
6 |
11 |
Nonlinear systems, Quasi-Newton methods |
4.5, 4.6 |
|
12 |
Nonlinear least-squares |
4.7 |
7 |
13 |
Interpolation and splines |
5.1, 5.2, 5.3 |
|
14 |
Finite differences |
5.4, 5.5 |
8 |
15 |
Numerical integration |
5.6, 5.7 |
|
16 |
Basic methods for IVPs |
6.1, 6.2 |
9 |
17 |
Runge-Kutta methods |
6.3, 6.4 |
|
18 |
Adaptive and multistep methodsSlides |
6.5, 6.6 |
10 |
19 |
Implementation and zero-stability of multistep methods |
6.7, 6.8 |
|
20 |
Data as matrices |
7.1 |
11 |
21 |
Matrix decompositions, NMF |
7.2, 7.3 |
|
22 |
Dimension reduction |
7.4, 7.5 |
12 |
23 |
Power iteration |
8.2, 8.3 |
|
24 |
Krylov methods, GMRES |
8.4, 8.5 |
13 |
25 |
MINRES, Conjugate gradients, Matrix-free iterations |
8.6, 8.7 |
|
26 |
Preconditioning |
8.8 |