Skip to content

cpraveen/na

Repository files navigation

Codes for Numerical Analysis course

You can run the notebooks in the browser Binder

You can see a listing of all the notebooks on colab via this url

https://colab.research.google.com/github/cpraveen/na

The following links only allow you to view the notebooks.

Introduction

  1. Sensitivity of polynomial roots
  2. Parasitic solution: roots of a non-linear equation
  3. Unstable iterations, C version
  4. Solving ODE, stable and unstable iterations

Computer arithmetic

  1. Store 1/10 and print it to see the conversion of real number to floating number
  2. Demonstration of unit round
  3. Example of overflow error
  4. Example of overflow error and how to avoid it
  5. Errors due to subtracting nearly equal quantities, C version, C++ version
  6. Errors due to subtracting nearly equal quantities
  7. Precision: evaluating polynomial

Root finding

  1. Bisection method
  2. Bisection method: implemented as a function
  3. Newton method
  4. Newton method: abs and rel tolerance
  5. Newton method: square root
  6. Newton method: reciprocal, slow convergence
  7. Newton method: complex root
  8. Newton method for system of equations
  9. Secant method
  10. Finite difference approximation
  11. Complex finite difference approximation
  12. Fixed point iterations
  13. Newton method: double root
  14. Root finding by homotopy method

Interpolation and approximation

  1. Condition number of Vandermonde matrix
  2. Using polyfit and polyval to construct polynomial approximation
  3. Interpolate cos(x) on uniform points
  4. Runge phenomenon
  5. Interpolate abs(x) on uniform points
  6. Behavior of function in polynomial interpolation error: uniform points
  7. Chebyshev polynomials
  8. Behavior of function in polynomial interpolation error: uniform vs Chebyshev points
  9. Roots of Chebyshev polynomial
  10. Chebyshev points of second kind
  11. Barycentric Lagrange interpolation: general point distribution
  12. Barycentric Lagrange interpolation: Chebyshev points
  13. Minimax approximation of abs(x)
  14. Adaptive piecewise linear interpolation Matlab, Python
  15. Cubic spline interpolation
  16. Gibbs oscillations in polynomial interpolation
  17. Trigonometric interpolation: Matlab, Python

Numerical integration

  1. Composite trapezoidal rule
  2. Composite corrected trapezoidal rule
  3. Composite trapezoidal rule using Scipy
  4. Composite Simpson rule
  5. Trapezoid and Simpson rule
  6. Trapezoid rule when f'' is not finite
  7. Gauss quadrature using Scipy
  8. Trapezoidal vs Gauss quadrature of sqrt(x)
  9. Gauss quadrature of sqrt(x-0.5)
  10. Trapezoidal vs Gauss quadrature for periodic function
  11. Gauss-Laguerre quadrature
  12. Adaptive Simpson quadrature

Solving ODE

  1. Forward Euler
  2. Forward Euler: Error convergence
  3. Trapezoidal method
  4. Instability of multi-step method
  5. Forward/backward Euler: Stability
  6. Forward Euler: Stability
  7. Absolute stability domains of AB, AM, BDF schemes
  8. Stiff ODE
  9. Stiff ODE: Forward Euler with variable step
  10. Stiff ODE system: Theta scheme
  11. ODE with periodic solution, quadratic invariant
  12. Non-linear BVP using shooting method
  13. Non-linear BVP using finite difference method

Numerical Linear Algebra

  1. LU decomposition
  2. LU decomposition with row pivoting
  3. Thomas tri-diagonal method for 1-d BVP
  4. Classical iterative methods for 1-D BVP: Gauss-Jacobi, Gauss-Seidel, SOR
  5. Classical iterative methods for 2-D BVP: Gauss-Jacobi, Gauss-Seidel, SOR
  6. QR algorithm
  7. Conjugate gradient method for 1-D BVP
  8. Conjugate gradient method for 2-D BVP

Numerical Linear Algebra

Codes prepared for a course on numerical Linear Algebra can be seen here

github.com/cpraveen/nla

From the internet

  1. Understanding the FFT algorithm (with Python code)
  2. Brunton: Fourier Analysis