This is the repository of course materials for the 18.335J/6.7310J course at MIT, taught by Dr. Shi Chen, in Spring 2025.
Lectures: Monday/Wednesday 9:30am–11am in room 2-190
Office Hours: Monday/Wednesday 11am–12pm in room 2-239.
Contact: [email protected]
Topics: Advanced introduction to numerical linear algebra and related numerical methods. Topics include direct and iterative methods for linear systems, eigenvalue decompositions and QR/SVD factorizations, stability and accuracy of numerical algorithms, the IEEE floating-point standard. Other topics may include nonlinear optimization, numerical integration, and FFTs. Problem sets will involve use of Julia, a Matlab-like environment (little or no prior experience required; you will learn as you go).
Launch a Julia environment in the cloud:
Prerequisites: Understanding of linear algebra (18.06, 18.700, or equivalents). 18.335 is a graduate-level subject, however, so much more mathematical maturity, ability to deal with abstractions and proofs, and general exposure to mathematics is assumed than for 18.06!
Textbook: The primary textbook for the course is Numerical Linear Algebra by Trefethen and Bau. For a classical (and rigorous) treatment, see Nick Higham's Accuracy and Stability of Numerical Algorithms.
Other Reading: Previous terms can be found in branches of the 18335 git repository. The course notes from 18.335 in much earlier terms can be found on OpenCourseWare. For a review of iterative methods, the online books Templates for the Solution of Linear Systems (Barrett et al.) and Templates for the Solution of Algebraic Eigenvalue Problems (Bai et al.) are useful surveys.
Grading: 40% problem sets (three psets due / released every other Friday), 30% take-home mid-term exam (second week of April), 30% final project (See details below).
-
Psets will be submitted electronically via Gradescope (sign up for Gradescope with the entry code on Canvas). Submit a good-quality PDF scan of any handwritten solutions and also a PDF printout of a Julia notebook of your computational solutions.
-
previous midterms: fall 2008 and solutions, fall 2009 (no solutions), fall 2010 and solutions, fall 2011 and solutions, fall 2012 and solutions, fall 2013 and solutions, spring 2015 and solutions, spring 2019 and solutions, spring 2020 and solutions.
Collaboration policy: Talk to anyone you want to and read anything you want to, with three exceptions: First, you may not refer to homework solutions from the previous terms in which I taught 18.335. Second, make a solid effort to solve a problem on your own before discussing it with classmates or googling. Third, no matter whom you talk to or what you read, write up the solution on your own, without having their answer in front of you.
- You can use psetpartners.mit.edu to help you find classmates to chat with.
Final Projects: The final project will explore a numerical topic of your choice that is related to the course material but has not been covered in depth during lectures or problem sets. The project consists of two components:
- Proposal (due by 11:59 PM, Sunday, April 6): A one-page summary outlining your chosen topic and its relevance.
- Final submission: You may choose one of the following formats:
- Technical report (5–15 pages) reviewing an interesting numerical algorithm not covered in the course, due by 11:59 PM, Thursday, May 15.
- Technical presentation (35-minute in-class lecture). Limited spots are available, and you may collaborate with one other classmate.
Further details will be provided as the semester progresses.
- Scope of Numerical Methods and the key concerns: A broad introduction to the vast field of numerical methods. Unlike pure mathematics, numerical analysis must account for performance (efficiency) and accuracy (precision and stability).
- The Importance of Numerical Linear Algebra (NLA): Why is NLA fundamental? Through examples, we demonstrate how NLA naturally arises in solving a wide range of problems in continuous mathematics.
Further Reading: L.N. Trefethen, The Definition of Numerical Analysis.