Praveen Chandrashekar

Centre for Applicable Mathematics, TIFR, Bangalore

[ People | News | Codes | Talks | Teaching | Publications | Calendar | Hiking | Contact ]

Numerical Analysis (Jan-May 2023)

Class timings: Tuesday and Friday, 9:30 AM to 11:00 AM  
               Wednesday, 2:00 to 3:30 PM
Class room   : Auditorium  
First class  : 3 January 2023  
Grading      : Homework (30), midterm (30), final (40)  
TA           : Arpit Babbar  

Re-exam policy: No re-exam will be given in case of failure and course has to be repeated next year.
Mid-term exam:
Final exam:

All documents and communication will be sent through Google Classroom. Do not email me directly unless it is a personal issue.



Assignments must be done individually without discussing with others. You can discuss with the TA.

It is highly recommended to write the assignment in LaTeX [1,2]. You can install LaTeX on your laptop and use TexStudio as a LaTeX editor. Or use the free online tool Overleaf which works in the browser and does not require any installation. Another very good software for writing mathematical documents is Texmacs.

If you write assignments by hand, then they must be written on standard A4 size paper only. There must be a margin of about 1 inch drawn on left of front-side and a corresponding margin on right of back-side, together with a margin on top of every page. Write assignment number, your full name and date of submission. Cleanliness and clarity in writing will carry weightage while grading.

Assignments can also be written in the form of jupyter notebook where you can use LaTeX.

Assignments should be submitted on Google Classroom. If it is handwritten, then scan it and upload the pdf on Google Classroom.

File names must contain assignment number and your name, in this format: Assign_1_YourName.pdf or Assign_1_YourName.ipynb. If the assignment is given as a jupyter notebook foo.ipynb, submit your solution as foo_YourName.ipynb. Do not use spaces in file names.

Most of the examples codes given will be in Python. You are encouraged to write coding assignments in Python, but you are free to use other languages like C/C++/Python/Matlab/Julia.

Here are some tips on writing assignment and exam.

Intro to Python

We will extensively use Python in this course and you can install it on your laptop using conda. You can also run it in the cloud, see below. We will use jupyter notebooks via jupyter-lab. We will need following Python modules

numpy matplotlib scipy sympy jupyterlab prettytable

See here for more info on installing with Conda.

A small introduction to some Python that is useful for this course is available here. In the terminal, you can clone this repository

git clone
cd python

or download a zip file, or

cd python-master


Running in cloud


  1. LaTeX in 30 minutes
  2. A simple guide to LaTeX
  3. L. N. Trefethen and D. Bau, Numerical Linear Algebra, SIAM.
  4. S. L. Brunton and J. N. Katz, Data Driven Science and Engineering: Machine Learning, Dynamical Systems and Control, Cambridge Univ. Press.
  5. James Demmel, Applied Numerical Linear Algebra, SIAM.
  6. E. Darve and M. Wootters, Numerical Linear Algebra with Julia, SIAM.
  7. G. H. Golub and C. F. Van Loan, Matrix Computations, HBA.