Computer Modelling and Simulation, January-May 2018

When Q Slot; Mondays 8PM to 10:30PM
Where HSB 266


Sivaram Ambikasaran,
Office: HSB 241C
Office hours: 9:30 AM to 11:30 AM, Mondays.


The course will broadly cover three topics: Programming will form a significant part of the course.


Lecture notes will be posted as and when needed. The material covered will be predominantly from the following books.


Evaluation Homework Quiz Project
Points 65 10 25


There will be a total of \(13\) homework (each worth 5 points) due roughly weekly. Homework will be posted on this website and will be Monday before 5 PM. Late homework will not be accepted. The homework will involve fair amount of programming exercises. Students are strongly encouraged to typeset their solutions using LaTeX/TeX (\(10\)% bonus points for submitting in LaTeX/TeX).

To save trees and keep track of submission on time, students need to send their homework through email to with the subject reading 2018_CMS_HW_#_firstname, where # needs to be replaced with the homework number (between \(1\) and \(13\)) and firstname is to be replaced with your first name in lower case. Details on how to submit the computing part of the homework will be elaborated in the homework itself. No collaboration is allowed for homework.

The grader will expect you to express your ideas clearly, legibly, and completely, often requiring complete English sentences rather than merely just a long string of equations or unconnected mathematical expressions. This means you could lose points for poorly written proofs or answers. Clear exposition is a crucial ingredient of communication. Clarity of thought and presentation is more important in mathematics & sciences than any other field. The only way to master exposition is by repeated practicing.


If you don't have \(\LaTeX\) on your system, try any of the following online ones.

Computational requirement

Each homework will have a good share of computational exercises. Students must be comfortable with programming and are expected to be comfortable with MATLAB and must have working knowledge in C++/Fortran. If not, they should be able to learn and immediately pick it up.


There will be a short surprize (3-5 minutes) quiz once in a while and will account for \(10\%\) of your total grade.


This could be a work arising out a published article or from material/discussions in class. The project is due April 30th. More details will be provided by the middle of February.


Below is a very rough calendar, which will be updated as we progress through the course.
Week Monday/Tuesday Homework
Jan 16: Lecture 1 Floating point arithmetic, Numerical Linear Algebra, Finite Difference, Interpolation Homework 1: Jan 29
Feb 4: Lecture 2 Spectral Methods: Chapter 1, 2, 3 of Trefethen Homework 2: Feb 12
Feb 12: Lecture 3 Spectral Methods: Chapter 4, 5, 6 of Trefethen Homework 3: Feb 19
Feb 19: Lecture 4 Spectral Methods: Chapter 7, 8, 9, 10 of Trefethen Homework 4: Feb 26
Feb 26: Lecture 5 Quadrature; Euler Maclaurin Homework 5: Mar 5
Mar 13: Lecture 6 Finite Element Methods: Chapter 1 of Pozrikidis Homework 6: Mar 19
Mar 26: Lecture 7 Finite Element Methods: Chapter 2 of Pozrikidis Homework 7: Apr 2; RK4
Apr 2 & 3: Lecture 8 & 9 Iterative methods for solving linear systems Homework 8: Apr 9
Apr 9 & 10: Lecture 10 & 11 Boundary Integral Method
Representation of solution using Green's function
Homework 9: Apr 16
Apr 16 & 17: Lecture 12 & 13 Fast solvers for Boundary Integral Method
Gerenalized Rybicki Press
Low Rank
Direct solver
Homework 10: Apr 25
Apr 23: Lecture 14 Finite Volume Method Homework 11: Apr 30
Project: Apr 30