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
- Numerical Methods for Engineers, Steven Chapra and Raymond Canale, McGraw Hill, ISBN: 978–0–07–340106–5