Skip to article frontmatterSkip to article content

About these notes

These notes are based on a Numerical Analysis course I teach at the Centre for Applicable Mathematics, Tata Institute of Fundamental Research, Bangalore, to first year Integrated-PhD students in applied mathematics. The emphasis is on understanding how the methods are derived, why they work and also implement them in a code.

The notes are closely intergated with fully working code examples. You should run every piece of code yourself. Open a jupyter notebook in one window and the website of these notes in another window; then click the copy link in a code cell, paste it into a code cell in the jupyter notebook and run the code cell.

Python

The methods discussed in these notes are illustrated with codes written in Python. I will assume that the reader is familiar with Python, in particular Numpy and Matplotlib. For a basic introduction to some Python, read my tutorial here

https://github.com/cpraveen/python

Python is organized into modules and you have to import them first.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,1,100)
y = np.sin(4*np.pi*x)
plt.plot(x,y,label='sin(x)')
plt.xlabel('x'), plt.ylabel('f(x)'), plt.legend()

In these notes we will use pylab; the above code can be written as

from pylab import *
x = linspace(0,1,100)
y = sin(4*pi*x)
plot(x,y,label='sin(x)')
xlabel('x'), ylabel('f(x)'), legend()

which leads to more compact and more readable code.

Running with source code

You can get the source code for this book and run it on your own computer. First install the dependencies listed in requirements.txt file and also mystmd

pip install -r requirements.txt
pip install mystmd

Then get the source

git clone https://www.github.com/cpraveen/numa
cd numa
myst start --execute

and open the url displayed on the terminal in your web browser. You can generate pdf files of all the chapters

myst build --execute --pdf

which can be found in the _build/exports directory. You can also run make to generate the pdfs.

Books

I have borrowed material from several excellent texts like Atkinson, 2004, Trefethen, 2019, Kincaid & Cheney, 2002, Davis, 1963.

Some other material covered in class but not in these notes are from Trefethen, 2000, Trefethen & Bau, 1997, Demmel, 1997, Iserles, 2008.

References
  1. Atkinson, K. E. (2004). An Introduction to Numerical Analysis (2nd ed.). Wiley.
  2. Trefethen, L. N. (2019). Approximation Theory and Approximation Practice, Extended Edition. Society for Industrial. 10.1137/1.9781611975949
  3. Kincaid, D., & Cheney, W. (2002). Numerical Analysis: Mathematics of Scientific Computing (3rd ed.). American Mathematics Society.
  4. Davis, P. J. (1963). Interpolation and Approximation. Dover Publications.
  5. Trefethen, L. N. (2000). Spectral Methods in MATLAB. Society for Industrial. 10.1137/1.9780898719598
  6. Trefethen, L. N., & Bau, D., Iii. (1997). Numerical Linear Algebra. Society for Industrial. 10.1137/1.9780898719574
  7. Demmel, J. W. (1997). Applied Numerical Linear Algebra. Society for Industrial. 10.1137/1.9781611971446
  8. Iserles, A. (2008). A First Course in the Numerical Analysis of Differential Equations (2nd ed.). Cambridge University Press. 10.1017/CBO9780511995569