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, coincidentally, is taught this term as well). It does not hurt to signal your interest to the instructor if you wish to see 18.086 offered in the future!

**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:** Laurent Demanet. **Office hours:** W 2:00-4:00,
room E17-414.

** Teaching assistant:** TBA ** Office hours:** TBA

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 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.

You can turn in the homework in a box in room E18-366, before 5PM on the day it is due.

- Problem set 1: due 02/13. Section 1.1 in the textbook: 9, 16, and this version of
question 27. Section 1.2: 4, 7, 18. This problem set will not be graded. Please print your name clearly and write down
your email address as well if you wish to be included in the class email list.
**Note: question 1.1.27 is not the same in every printing of the book, or may be absent altogether. The link above is from the second printing. As for 1.1.16, the wording does not actually contain a question, but it contains an important observation that I'd like all of you to make.** - Solutions for hw1
- Problem set 2: due 02/20. Section 1.1: 12, 26. Section 1.2: 14.
Section 1.3: 8, 10. Section 1.4: 7, 8, 12. Section 1.5: 2, 13, 23,
29.
**There are typos in exercise 1.2.14: it should be -12(ih)^2 instead of 3(ih)^2 and u_0 = u_1 instead of u_0 = 0.** - Solutions for hw2. Thank you to Robert Yi who kindly provided his solution set.
- Problem set 3: due 02/27. Section 1.6: 1, 9, 12, 20, 27. Section 2.1: 5, 7. Here is a writeup on the Cholesky factorization.
- Solutions for hw3. By Haofei Wei.
- Quiz on 03/06 (in class, regular meeting time and room, open book, open notes, computers off, phones off.) Here is a linear algebra cheat sheet.
- Solutions for quiz 1
- Problem set 4: due 03/18. Section: 2.2: 5(a), 6, 8. Section 2.3: 7, 8, 10, 12. (The 3 problems from section 2.2 are part of the material for the 03/06 quiz. Precision for 2.2.6: the actual question is in italic - the rest is context. Question 2.3.10: use the same setup as in question 7, namely x = (0,1,2,3).)
- Solutions for hw4. By Haofei Wei.
- Problem set 5: due 03/20. Section 2.4: 5, 6 ,7, 9, 13, 17, 18
- Solutions for hw5. By Dorian Croitoru.
- Problem set 6: due 04/03. Section 2.7: 3, 4, 6, 9. Section 3.1: 3, 10, 12 (the three hat functions refer to those used in problem 10), 14
- Solutions for hw6. By Haofei Wei.
- Quiz on 04/10. The material is the part of sections 1.1 trough 3.2 that we covered in class.
- Solutions for quiz 2, by Dorian Croitoru.
- Problem set 7: due 04/17. Section 3.2: 4, 6, 8, 9, 10, 11(a).
Section 3.3: 1, 5, 7.
**Matlab question**: enter the matrix in question 11(a) of section 3.2. Find the right-hand-side that corresponds to a point load at x = 1/3. Then solve the linear system with Matlab's backslash. What is the (numerical value of the) displacement at x=1/3?**There is a typo in the caption of figure 3.7 (right) of section 3.2 of the book: the formula for the slope function should be multiplied by h to get slope 1 at the origin. This affects questions 3.2.9, 3.2.10, and the Matlab question.** - Solutions for hw7. By Haofei Wei.
- Problem set 8: due 04/24. Section 3.3: 9, 10. Section 3.4: 2,
4, 5. Section 3.5: 5, 8.
**Matlab question**: solve the Poisson equation - u_xx - u_yy = 1, with u = 0 on the boundary of the unit square [0,1]^2. Set up the 5-point Laplacian K2D as a sum of Kronecker products, on a grid with 7^2 = 49 unknowns. Solve K2D U = F with Matlab's backslash. What is the value of your numerical solution at the center (1/2,1/2) of the square? - Solutions for hw8, by Dorian Croitoru.
- Problem set 9: due 05/01. Section 3.6: 3, 4, 7.
- Solutions for hw9, by Haofei Wei.
- Problem set 10: due 05/08. Section 4.1: 1(b,c), 3, 4, 10, 13. Section 4.3: 10, 11, 12.
**There is a typo in the definition of c_(N-k) in 4.3.12: it should involve w conjugate, not w.** - Solutions for hw10, by Dorian Croitoru.
- Final quiz on 05/15.