Course Code
P346
Credit
6
Prerequisite
- None -
Total Hours
-
Outcome of the Course
The course provides a basic training in numerical and statistical methods used in all branches of physics though programming and hands on tutorial sessions.
Approval
Syllabus
- Introduction to C/C++ or Python
- Representation of numbers on the computer, integers and floating point number, finite precision
- Statistical description of data: Mean, Variance etc. Statistical inference, Error propagation
- Curve fitting : Introduction to least squares, Straight line fitting, General linear and non-linear function fitting
- Numerical Differentiation
- Numerical Integration
- Random number generators and random walk
- Differential equations - Euler and Runge Kutta methods
- Introduction to solving Partial Differential Equations
- Finding roots of polynomials and transcendental equations
- Minimisation of functions - golden section search, multivariable minimisation, gradient descent, conjugate gradient methods for quadratic and general functions
- Solving system of linear equations using matrix algebra
- Fast Fourier Transforms
- Monte Carlo – Markov chain, Metropolis algorithm, Ising Model
- Solving system of linear equations using matrix algebra
- Fast Fourier Transforms
- Monte Carlo – Markov chain, Metropolis algorithm, Ising Model
Reference Books
- Learning Python, 5th Edition by Mark Lutz, O’Reilly Publications
- The C++ Programming Language 4 th Edition by Bjarne Stroustrup, Addison-Wesley Professional
- An Introduction to Computational Physics by Tao Pang, Cambridge University Press
- A Guide to Monte Carlo Simulations in Statistical Physics, by David P. Landau and Kurt Binder, Cambridge University Press.
- Numerical Recipes in C++: The Art of Scientific Computing by William H. Press, Saul A. Teukolsky, Cambridge University Press