Contains Jupyter notebooks and other materials prepared for the course Numerical Methods offered at TIFR Hyderabad (https://www.tifrh.res.in/~ramakrishnan/index.php/teaching/)
Access interactive notebooks at https://mybinder.org/v2/gh/raghurama123/nm2021/HEAD
-
Python: Writing/running codes, Jupyter notebooks, modules
-
Linear Equations: Direct methods: Cramer's rule, row-reduction, forward/backward substitution, Gaussian elimination; LU factorization: Cholesky's method
-
Data Modeling: Approximations: least squares fitting; Interpolation: polynomial interpolation,
scipy.interpolate.interp1d
-
Root finding: The problem, fixed-point iteration, bisection method, Newton-Raphson method (1-D and n-D), Jacobian matrix, pseudo-inverse, quasi-Newton method (1-D: secant method, n-D: Broyden),
scipy.optimize
-
Optimization/Minimization: 1-D problems, n-D problems,
scipy.optimize.minimize(method=’L-BFGS-B’)
, Simplex method,scipy.optimize.minimize(method=’Nelder-Mead’)
, How to select an optimization method? -
Numerical Differentiation: Finite difference; Error analysis
-
Numerical Integration: Newton-Cotes formulae, Romberg/Gaussian integration, Multiple integrals
-
Initial Value Problems: Euler/Runge-Kutta methods; Stability and Stiffness
-
Boundary Value Problems: Shooting Method
-
Symmetric Matrix Eigenvalue Problems: Jacobi rotations, Power/inverse power method, Tridiagonal form
-
Application to Chemical Physics: Molecular thermodynamics (Ideal gas, harmonic oscillator, rigid rotor partition functions), Equation of states, Schroedinger equation of Hydrogen molecule cation, Hartree-Fock for He atom, Linear variational problems in Quantum mechanics (1D potentials, Tunneling problems), Potential energy surface fitting, Time-dependent Schroedinger equation.
-
Optional Topics: Krylov Subspace Techniques, Lanczos iteration, Iterative linear solvers, Non-linear regression, Matrices: Rank and condition numbers
For comments, questions, suggestions or requests please write to [email protected]