MENU
COMPUTER BASED NUMERICAL METHODS (JUL - DEC 2023) MAIN MENU

About the Course


This course covers numerical methods such as root finding, interpolation, linear systems of equations and methods for solving them, integration, differential equations and methods for solving them. The programming language used is Python and students are expected to have a beginners level knowledge of the language. If they don't, they are strongly advised to follow any of the basic tutorials available on the Internet.

While there is no real textbook for the course, we will be following the material from the online resource. Any extra material will be suggested in the relevant classes.

Instructor

Chakravarthy Bhagvati

Classroom and Timings

(effective 23 August 2023)
Wed 2:00 - 3:00 PM: CIS 119
Thu 2:00 - 4:00 PM: LHC1 CR6

CBNM Lab
Wed 3:00 - 5:00 PM: CIS IT Lab

Note: the class and lab on Wednesdays is in the South Campus

Syllabus


The following is the tentative syllabus and it may be fine-tuned during the semester. Links are given for some extra reading or for material not found in the suggested textbook.
Unit Description WeeksLinks
I. Introduction
  • IEEE floating point representation
  • Accuracy, precision and errors
  • numpy module in Python
1 - 2 IEEE Standard for Floating Point Numbers
LAB 1: PRELIMINARIES
LAB 1: PROBLEMS
Due: 23/08/2023
II. Root Finding
  • Simple methods: bisection, regula-falsi, Newton-Raphson, Secant, etc.
  • Other methods: Birge-Vieta, Bairstow
3 - 5 Regula falsi Method
Birge-Vieta Method
Bairstow Method
LAB 2: PROBLEMS Due: 06/09/2023
III. Solving Systems of Equations
  • Gauss elimination, Gauss-Jordan, Jacobi and Gauss-Siedel methods
  • LU decomposition method
  • Eigenvalue and Eigenvector computations
5 - 8
LAB 3: PRELIMINARIES
Gauss Eliminate (C Code) with dynamic arrays
Updated Lab Sheet for 27/09/2023
Lab Sheet for 04/10/2023
Due: 27/09/2023
IV. Interpolation and Quadrature Methods
  • Linear, Lagrange, Vandermonde and Cubic-spline interpolations
  • Trapezoidal rule, Simpson's rule for definite integrals
  • Gaussian quadrature
9 - 11
LAB 6: Regression and Least Squares Approximation
LAB 7: Interpolation
LAB 8: Integration
Due: 11/10/2023
V. Solving Ordinary Differential Equations
  • Euler's and modified Euler's methods
  • Piccard's successive approximation
  • Runge-Kutta methods
11 - 13
LAB 9: Building a Python Package
LAB 9: Building a C Library
Due: 01/11/2023
LAB 10: ODE Basics
LAB 11: Runge Kutta Methods
LAB 12: ODE Problems
Due: 01/11/2023
LAB 9: Building a Python Package (Updated)
LAB 9: Building a C Library (Updated)
Due: 16/11/2023

Material for Lab Exam


Practice Problems for Lab Exam
School of Computer and Information Sciences