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