The class presents and ties together important notions of computational mathematics for scientists and engineers. It sheds a second light on linear algebra and differential equations. The focus is not on any particular application -- many will be covered from mechanical to electrical systems, graphs, networks, etc. -- but rather on the common mathematical framework that underlies most of them. Both modeling and computation will be covered. The class is suitable for master students, advanced undergraduates, or anyone interested in building a foundation in CSE.
Topics:
- Part 1: Applied Linear Algebra
- Difference matrices and boundary conditions
- Elimination, inverses, eigenvalues
- Positive definite matrices
- Fundamental subspaces and matrix decompositions (QR, SVD)
- Part 2: A Framework for Applied Mathematics
- Stiffness matrices and oscillations
- Least-squares
- Kirchhoff's laws, graphs, etc.
- Part 3: Boundary-Value Problems
- Gradient, divergence, Poisson's equation
- Splines and finite elements
- Finite differences and fast iterative methods
- Part 4: Fourier Series and Integrals
- Periodic functions
- The discrete Fourier transform and the FFT
- Convolution and deconvolution
The class will closely follow the first four chapters of the book Computational Science and Engineering by Gil Strang. The book should be available at the Coop.
- The book's web page, including a few sample sections, codes, and solutions to selected problems.
- Gil Strang's publisher web page, including instructions on how to order the book online with a discount
- The other class page, which will be maintained long after this page is gone, with tons of links to old homework problem sets, quizzes, solutions, and code.
Chapters 5 through 8 of the book are normally covered in 18.086 (which is taught this term as well).
Prerequisites: Calculus, including derivatives,
integrals, linear differential equations, complex numbers, and familiarity
with the noble functions of mathematics (sin, cos, exp, log, etc.).
Vectors and matrices, including elementary operations (mat-vec,
mat-mat multiply, etc.), row reduction, linear (in)dependence of vectors,
linear systems of equations. It helps, but is not necessary, to have taken
a linear algebra class such as 18.06. The homework assignments will
involve basic computer programming in the language of your choice (MATLAB
recommended).
Date and Time: Tu-Th, 2:30-4:00, room 4-163.
Instructor: Alex Townsend Office hours: W 9:00-11:00,
room E18-475.
Teaching assistants: Rik Sengupta and Vinoth Nandakumar Office hours: TBA
Quiz dates: Thursday 19th March, Tuesday 14th April, and Tuesday 12th May.
These will take place in 50-340!
40% homework, 60% three in-class quizzes.
The homework problem sets will consist of both theoretical questions (without going into too much proof!) and numerical questions. No late copy will be allowed, but the lowest score will be dropped. Due on Thursdays. Please use MATLAB or Julia notation to describe algorithms. Use of MATLAB or Julia for tedious calculations is encouraged, however you need to know how to do the basic algorithms taught in the course by hand (at least for small matrices) for the quizzes.
Turn in the homework during the class on the day it is due. (Dates below are subject to change.)
- Exam 1: 19th March. pdf solutions (avg: 43.5/60, std: 12.4)
- Exam 2: 14th April. pdf solutions (avg: 49.9/60, std: 12.8)
- Exam 3: 12th May. pdf solutions (avg: 47.0/60, std: 15.6) Correction: 1(c) formula should be scaled by N.
Turn in the homework during the class on the day it is due. (Dates below are subject to change.)
- Problem set 1: to appear 02/12, due 02/19. pset1 solutions (avg: 36.7/40, std: 7.8)
- Problem set 2: to appear 02/26, due 03/05. pset2 solutions [Correction Q4: A is invertible.] (avg: 34.8/40, std: 9.6)
- Problem set 3: to appear 03/12, due 03/19. pset3 solutions [Correction in sols, Q1: A is rank-2. Bonus part, see paper] (avg: 38.6/40, std: 5.2)
Problem set 4: to appear 03/26, due 04/02.(Due to the snow last month we are behind. No pset. Everyone gets full marks.)- Problem set 4: to appear 04/09, due 04/16. pset4 solutions [Correction Q1: Max of 1780 triangles, BreedTriangles.m.] (avg: 31.1/60, std: 12.6)
- Problem set 5: to appear 04/23, due 04/30. pset5 solutions (avg: 33.3/40, std: 7.5)
- Problem set 6: to appear 04/30, due 05/07. pset6 solutions (avg: 36.3/40, std: 4.9)
Part 1: Applied numerical linear algebra
- Class 1: Why did Beagle 2 crash? L1.m
- Class 2: Turning derivatives into differences pdf, L2.m
- Class 3: Solving matrices the LU way pdf, L3.m
- Class 4: The trusty QR decomposition L4.m
- Class 5: Data-fitting: Is your BMI wrong? BMIdata.m, L5.m, Why the normal equations? pdf
- Class 6: The $25,000,000,000 eigenvector pdf, Does the QR algorithm converge? [Hard.] pdf
- Class 7: Polynomial rootfinding and Gershgorin's circles L7.m
- Class 8: SVD: Image compression L8.m Portrait (replace with your own)
- Class 9: More SVD and low rank approximation of a circle L9.m
- Class 10: Positive definite matrices L10.m
- Class 12: Exam 1
Part 2: A framework for applied mathematics
- Class 11: Springs and oscillations (taught by Marc Hoyois)
- Class 13: Euler's trails, adjacency graphs, and the relationship phenomenon (handshake lemma)
- Class 14: Katz score. Incidence matrices and electrical networks
- Class 15: Graph Laplacian and finite differences. Truss stability.
- Class 16: Truss stability. Code: truss.m, plottruss.m, constructA.m, truss.m
- Class 17: Exam 2
Part 3: Applications of the FFT
- Class 18: The fast Fourier transform. SimpleFFT code The FFT in three-and-a-half facts FFT_Facts
- Class 19: Decomposing sound waves into frequencies. L19.m The art of signal processing. pdf
- Class 20: The approximation of nonperiodic functions pdf
- Class 21: More on the approximation of functions (see The Chebfun software)
- Class 22: A fast Poisson solver. Matrix-vec with S: dst1.m, Fast Poisson code: Fast Poisson code
- Class 23: Transmitters and receivers fastCirculant.m, fastToeplitz.m, Class notes
- Class 24: Exam 3
Part 4: For fun
- Class 25: Review of material, analysis of class data, demo