PH108: Scientific Computing for Physicists

Syllabus

Module 1: Scientific Programming and Numerical Representation

( Lecture hours: 0 , Tutorial hours: 0 , Lab hours: 8 )

Scientific programming environment (Python/Octave/MATLAB/Julia), Variables, arrays, matrices, and complex numbers, Floating-point representation and numerical errors, Plotting real and complex functions, Visualization of functions of one, two, and three variables, Introduction to pseudorandom numbers .

Module 2: Data Approximation and Numerical Modeling

( Lecture hours: 0 , Tutorial hours: 0 , Lab hours: 4 )

Curve fitting, Polynomial and spline interpolation, Error interpretation, Basic unconstrained minimization (all using inbuilt functions) .

Module 3: Linear Algebra

( Lecture hours: 0 , Tutorial hours: 0 , Lab hours: 4 )

Matrix representation, Solving systems of linear equations, Conceptual overview of matrix factorization (LU), Numerical issues in matrix inversion, Applications in scientific problems .

Module 4: Spectral Analysis

( Lecture hours: 0 , Tutorial hours: 0 , Lab hours: 4 )

Discrete representation of functions, Fourier series and discrete Fourier transform, Fast Fourier Transform (FFT) .

Module 5: Numerical Calculus and Differential Equations

( Lecture hours: 0 , Tutorial hours: 0 , Lab hours: 6 )

Numerical differentiation and integration, Root finding methods, Initial value problems for ODEs (using standard ODE solvers) .

Study Materials

Textbooks

  1. Numerical Methods for Engineers, Steven Chapra and Raymond Canale, McGraw Hill, ISBN: 978–0–07–340106–5