Course Content:
Numerical analysis
- Review of elementary calculus (1 lecture). Mean value theorem, Rolle’s theorem, Taylor’s theorem with different error formulae, Ck[a,b] functions.
- Introduction to finite precision arithmetic (3 lectures). Representation of numbers of finite digit machines, rounding and chopping errors, error propagation, asymptotic convergence, big and little oh notation.
- Root finding of nonlinear systems (4 lectures). Bisection, Secant and Newton’s method, fixed point iteration
- Linear systems (5 lectures). Gauss elimination, LU, QR, matrix norms, Jacobi and Gauss-Seidel method
- Interpolation (4 lectures). Lagrange interpolation, Newton interpolation using divided differences, Hermite interpolation, piecewise linear and cubic spline interpolation
- Numerical differentiation (2 lectures). Finite differences, Richardson extrapolation
- Numerical integration (4 lectures). Trapezoidal rule, Simpson's rule, Gaussian quadrature in 1D and 2D
- Numerical solutions of ordinary differential equations (5 lectures). Euler’s method, implicit method, predictor-corrector schemes, Runge-Kutta methods.
Programming (Python 3)
- Introduction of terminal-based operations and basic unix commands, handling Vim or Emacs, file management in Unix (2 lectures)
- Basic programming principles, simple numerical computations using Python (variables, strings, lists, comparison operators), logical expressions and operators, vector and array manipulation, Jupyter notebook (4 lecture)
- Loops and conditional statements in Python, basic data structures (strings, lists, dictionaries) (3 lectures)
- Modules, standard modules such as cmath, Numpy Scipy, Matplotlib (4 lectures)
- Different type of functions, type conversion, local and global variables (4 lecture)
- Graphics using matplotlib, 2D and 3D plotting, (3 lectures)
- File management, Reading and writing large data to file (2 lectures)
Learning Outcomes:
- Fundamental understanding: Develop a solid understanding of the fundamental concepts of numerical analysis, including the design of algorithms and the application of analysis techniques to manage and minimize errors.
- Bridging: Explore how numerical analysis serves as a bridge between applied mathematics and mathematical analysis. Understand the role of real and functional analysis in deriving appropriate error estimates.
- Python skills: Gain proficiency in Python 3 and familiarity with modern resources such as Jupyter and Binder. Gain confidence in using Python for scientific computing and numerical simulations.
- Application and verification: Apply Python tools to implement numerical methods. Verify theoretical predictions, including evaluating asymptotic convergence rates and stability predictions by von Neumann and Courant-Friedrichs-Lewy methods.
Text books
- An introduction to numerical methods and analysis, J. Epperson, John Wiley and Sons (1st Edition), 2001, ISBN - 978-0471316473
- Numerical methods in engineering with Python 3, J. Kiusalaas, Cambridge University Press (3rd Edition), 2013, ISBN - 9781139523899
References
- An introduction to numerical analysis, K. A. Atkinson, Wiley India (2nd Edition), 2008, 978-8126518500
- Numerical analysis, R. L. Burden and J. D. Faires, Cengage Learning Inc (9th Edition), 2010, ISBN - 978-0538733519
- An Introduction to Numerical Analysis, E. Sueli and F. D. Mayers, Cambridge University Press, 2003, ISBN - 978-0521007948
- A concise introduction to numerical analysis, A. C. Faul,
- Numerical methods for engineers, S. C. Chapra and R. P. Canale, McGraw Hill (8th Edition), 2021, ISBN - 978-9354601361
- Applied numerical analysis, C. F. Gerald and P. O. Wheatley, Pearson education India (7th Edition), 2007, ISBN - 978-8131717400
- A graduate introduction to numerical methods: from the viewpoint of backward error analysis, R. C. Corless, N. Fillion, Springer, 2014, ISBN - 978-1461484523,
-
Python programming and numerical methods : a guide for engineers and scientists, Q. Kong, T. Siauw, and A. M. Bayen, Academic Press Inc (1st edition), 2020, ISBN - 978-0128195499
- Numerical methods with Python: for the Sciences, W. Miller, De Gruyter, 2023, ISBN - 978-3110776454
- Numerical Python: Scientific computing and data science applications with Numpy, SciPy, and Matplotlib, Apress, 2019, ISBN - 978-1484246481