# Numerical Methods and Optimization in Python

Gaussian Elimination, Eigenvalues, Numerical Integration, Interpolation, Differential Equations and Operations Research

This course is about numerical methods and optimization algorithms in Python programming language.

What you’ll learn

• Understand linear systems and Gaussian elimination.
• Understand eigenvectors and eigenvalues.
• Understand Google’s PageRank algorithm.
• Understand numerical integration.
• Understand Monte-Carlo simultions.
• Understand differential equations – Euler’s method and Runge-Kutta method.
• Understand machine learning related optimization algorithms (gradient descent, stochastic gradient descent, ADAM optimizer etc.).

Course Content

• Introduction –> 1 lecture • 2min.
• ### NUMERICAL METHODS ### –> 4 lectures • 21min.
• Linear Algebra –> 7 lectures • 31min.
• Linear Systems and Gaussian Elimination –> 5 lectures • 23min.
• Gauss Elimination Implementation –> 2 lectures • 16min.
• #1 Challenge – Portfolio Optimization –> 2 lectures • 6min.
• Eigenvalues And Eigenvectors –> 4 lectures • 10min.
• #2 Challenge – Google’s PageRank Algorithm –> 10 lectures • 57min.
• Interpolation –> 6 lectures • 28min.
• Root Finding –> 6 lectures • 21min.
• Numerical Integration –> 8 lectures • 35min.
• #3 Challenge – Monte-Carlo Integration –> 4 lectures • 22min.
• Differential Equations –> 9 lectures • 48min.
• ### NUMERICAL OPTIMIZATION (MACHINE LEARNING ALGORITHMS) ### –> 12 lectures • 1hr 29min.
• ### APPENDIX – PYTHON PROGRAMMING CRASH COURSE ### –> 1 lecture • 1min.
• Appendix #1 – Python Basics –> 16 lectures • 1hr 19min.
• Appendix #2 – Functions –> 10 lectures • 52min.
• Appendix #3 – Data Structures in Python –> 17 lectures • 1hr 49min.
• Appendix #4 – Object Oriented Programming (OOP) –> 13 lectures • 59min.
• Appendix #5 – NumPy –> 9 lectures • 52min.
• Appendix #6 – Pandas –> 14 lectures • 1hr 16min.
• Course Materials (DOWNLOADS) –> 1 lecture • 1min. Requirements

This course is about numerical methods and optimization algorithms in Python programming language.

*** We are NOT going to discuss ALL the theory related to numerical methods (for example how to solve differential equations etc.) – we are just going to consider the concrete implementations and numerical principles ***

The first section is about matrix algebra and linear systems such as matrix multiplication, gaussian elimination and applications of these approaches. We will consider the famous Google’s PageRank algorithm.

Then we will talk about numerical integration. How to use techniques like trapezoidal rule, Simpson formula and Monte-Carlo method to calculate the definite integral of a given function.

The next chapter is about solving differential equations with Euler’s-method and Runge-Kutta approach. We will consider examples such as the pendulum problem and ballistics.

Finally, we are going to consider the machine learning related optimization techniques. Gradient descent, stochastic gradient descent algorithm, ADAGrad, RMSProp and ADAM optimizer will be discussed – theory and implementations as well.

*** IF YOU ARE NEW TO PYTHON PROGRAMMING THEN YOU CAN LEARN ABOUT THE FUNDAMENTALS AND BASICS OF PYTHON IN THA LAST CHAPTERS ***

Section 1 – Numerical Methods Basics

• numerical methods basics
• floating point representation
• rounding errors
• performance C, Java and Python

Section 2 – Linear Algebra and Gaussian Elimination

• linear algebra
• matrix multiplication
• Gauss-elimination
• portfolio optimization with matrix algebra

Section 3 – Eigenvectors and Eigenvalues

• eigenvectors and eigenvalues
• applications of eigenvectors in machine learning (PCA)
• Google’s PageRank algorithm explained

Section 4 – Interpolation

• Lagrange interpolation theory
• implementation and applications of interpolation

Section 5 – Root Finding Algorithms

• solving non-linear equations
• root finding
• Newton’s method and bisection method

Section 6 – Numerical Integration

• numerical integration
• rectangle method and trapezoidal method
• Simpson’s method
• Monte-Carlo integration

Section 7 – Differential Equations

• solving differential-equations
• Euler’s method
• Runge-Kutta method
• pendulum problem and ballistics

Section 8 –  Numerical Optimization (in Machine Learning)

• gradient descent algorithm
• stochastic gradient descent