Venue: Chern Lecture Hall
Class Timings: Tuesdays from 02:00 PM - 03:30 PM and Fridays from 03:45 PM - 05:15 PM
First Meeting: 17 January 2025
Course Description:
- Numerical differentiation and integration: Finite differencing, convergence, error estimates, Richardson extrapolation, trapezoidal rule, Romberg's method, Simpson's rule, Gaussian quadrature.
- Numerical linear algebra: Matrix factorisation and iterative algorithms (QR, LU, decompositions), singular value decomposition.
- Interpolation and extrapolation: Polynomial interpolation and extrapolation, spline interpolation.
- Algebraic Equations and root finding: Solving systems of linear equations, non-linear root finding.
- Ordinary differential equations: Euler methods, Runge-Kutta methods, Adaptive step size control, initial value problems and boundary value problems.
- Fourier methods and signal processing: Fast Fourier transform, sampling theorem, windowing, convolution and correlation, power spectrum estimation, Matched filtering.
- Monte-Carlo methods and statistical techniques: Markov-chain Monte Carlo methods, Metropolis–Hastings algorithm, Bayesian inference, Hypothesis testing, Model selection.
- Partial differential equations: Stability analysis, well-posedness, Finite difference and spectral methods, Solving Hyperbolic, Elliptic and Parabolic PDEs.
- Introduction to Machine Learning.
References:
- W. H. Press, S. A. Teukolsky, W. T. Vetterling and B. P. Flannery, Numerical Recipes: The Art of Scientific Computing, Cambridge (2007).
- P. L. DeVries and J. E. Hasbun, A First Course in Computational Physics, Jones & Bartlett (2011).
- C. F. Gerald and P.O.Wheatley, Applied Numerical Analysis, Addison-Wesley (2004).
- D. S. Sivia and J. Skilling, Data Analysis: A Bayesian Tutorial, Oxford (2012).
- P. Gregory, Bayesian Logical Data Analysis for the Physical Sciences, Cambridge (2010)
Course Evaluation: 75% on weekly assignments + 25% on final project.
Perquisites: This is NOT a course in computer programming. Students are expected to have some background in programming. The recommended programming language is Python.
- Bring your laptop that has some flavour of Unix (GNU/Linux, Mac OS X, BSD, etc.), with Python (http://www.python.org/) along with numpy (http://www.numpy.org/), scipy (http://scipy.org/) and matplotlib (http://matplotlib.org/) libraries installed.
- If you are a beginner in Python, work on your Python beginners tutorials: http://www.python.
org/about/gettingstarted/ . Once you are familiar with the basics, go for an advanced tutorial, e.g., http://www.openbookproject.net/thinkcs/ .python/english2e/
Course outcome: At the end of this course, students should be able to get a broad understanding of the numerical methods used to solve problems in physics and astronomy. They should be able to appreciate various types of errors appearing in their numerical calculations which can bias the results.
- Teacher: Parameswaran Ajith
- Teacher: Prayush Kumar
Credit Score: 4