This is a very hands-on course which will involve a lot of programming assignments. The main aims of the course are two fold:
- Learning basic methods, tools and techniques of computational physics.
- Developing practical computational problem solving skills.
The syllabus can be downloaded from here.
**1. Introduction to computational physics, computer architecture overview, tools of computational physics (3 hours)**
What is computational physics? Why do we need it?; Computer hardware: basic computer architecture, hierarchical memory,
cache, latency and bandwidth; Moore’s law, power bottleneck; Software: compiled (Fortran, C) vs. interpreted languages
(MATLAB, python); software management.; Parallelization: MPI; OpenMP; CUDA.
**2. Machine representation, precision and errors (1.5 hours)**
Representation on a computer: Integer representation; floating-point representation; Machine precision; Errors: round-off;
approximation errors; random errors; errors of the third kind; Quadratic equations; Power series; Delicate numerical expressions;
Dangerous subtractions; Preserving small numbers; Partial Fractions; Cubic equations; Sketching functions;
**3. Quadrature and Derivatives (6 hours)**
Direct fit polynomials; Quadrature methods on equal subintervals; Newton-Cotes formula; Romberg Extrapolation; Gaussian
quadrature; Adaptive step size; Special cases;
**4. Solutions of linear and non-linear equations (9 hours)**
Simultaneous linear equations: Gauss elimination (pivoting, scaling); LU factorization; Calculating inverse; Tri-diagonal
systems; Eigenvalues and Eigenvectors: QR Factorization; Gram-Schmidt Orthogonalization; Real roots of single variable function;
Relaxation method; qualitative behavior of the function; Closed domain methods (bracketing): Bisection; False
position method; Open domain methods: Newton-Raphson, Secant method; Complications; Roots of polynomials; Roots of non-linear equations;
**5. Fourier methods (3 hours)**
Fast Fourier transform; Convolution; Correlation; Power spectrum;
**6. Random numbers and Monte-Carlo (6 hours)**
Random number generators; Monte-Carlo integration; Non-uniform distribution; Random Walk; Metropolis algorithm;
**7. Ordinary differential equations (9 hours)**
Initial value problems: First order Euler method; Second order single point methods; RungeKutta methods; Multipoint methods;
Boundary value problems: Shooting method; equilibrium boundary value method;
**8. Partial differential equations (6 hours)**
Types of partial differential equations: Hyperbolic, parabolic and elliptic; Boundary value problems: Overrelaxation; Gauss-
Siedel Method; Initial value problems: FTCS method; Numerical stability; Implicit and Crank-Nicolson methods; Spectral methods;
- Mark Newman, Computational Physics, CreateSpace Independent Publishing Platform (2013).
- Forman Acton, Real computing made real: Preventing Errors in Scientific and Engineering Calculations, Dover Publications.
- Lloyd N. Trefethen and David Bau, Numerical Linear Algebra, SIAM.
- William H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery, Numerical Recipes 3rd Edition: The Art of Scientific Computing
- Lecture Note 1
- Lecture Note 2
- Lecture Note 3
- Lecture Note 4
- Lecture Note 5
- Lecture Note 6
- Lecture Note 7
- Lecture Note 8
- Lecture Note 9
- Lecture Note 10
- Lecture Note 11
- Lecture Note 12
- Lecture Note 13
- Lecture Note 14
- Lecture Note 15
- Lecture Note 16
- Lecture Note 17
- Lecture Note 18
- Lecture Note 19
- Lecture Note 20
- Lecture Note 21
There are similar lecture notes available in Prof. Prateek Sharma's webpage and Prof. Manish Jain's webpage.
- No Exam !!!
- There will be homeworks and projet. The grading policy is
50%
homework and50%
project. - Project will be decided by the student in consultation with the Masters/PhD/Bachelors advisor – subject to the Instructors approval as well.
- Stand alone project – which you have to get working and submit a working code and report. Also, make a presentation on it at the end of the course.
- Projects can start right away.
- Fill out this form for the project details.
Homeworks will be uploaded here periodically. There will be decent amount of time to submit the homeworks in time.
There is a penalty for the late submission of the homeworks.
For every day you are late (unless informed prior to submission) 25%
of the marks will be deducted. After 4 days there wont't be any credit for the homework.
-
Homework set 1 is uploaded on 8th January, 2020 ; due on 20th January, 2020. Click here to download.
Additional files: millikan.txt, stm.txt, sunspots.txt
-
Homework set 2 is uploaded on 26th January, 2020 ; due on 10th February, 2020. Click here to download.
Additional files: altitude.txt, stm.txt, gaussxw.py, velocities.txt
-
Homework set 3 is uploaded on 5th February, 2020 ; due on 24th February, 2020. Click here to download.
-
Homework set 4 is uploaded on 20th February, 2020 ; due on 9th March, 2020. click here to download.
-
Homework set 5 is uploaded on 28th February, 2020 ; due on 23rd March, 2020. click here to download.
-
Homework set 6 is uploaded on 12th March, 2020 ; due on 1st April, 2020. click here to download.
Note: A. Question 5 has been modified slightly. (Updated on Mar 26th) B. Updated on 29th March
Additional file: dcst.py
-
Homework set 6 is uploaded on 6th April, 2020 ; due on 20th April, 2020. click here to download.
- Prof. Prateek Sharma; Course Instructor
- Prof. Manish Jain; Course Instructor
- Sanat Gogoi; TA