## Description

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
- ADAGrad and RMSProp algorithms
- ADAM optimizer explained

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

Thanks for joining my course, let’s get started!

## Who this course is for:

- This course is meant for student with quantitative background or software engineers who are interested in numerical methods

## Requirements

- Mathematical background – differential equations, integration and matrix algebra

**Last Updated 4/2022**

## Download Links

**Direct Download**

Numerical Methods and Optimization in Python.zip (3.3 GB) | Mirror

**Torrent Download**

Numerical Methods and Optimization in Python.torrent (131 KB) | Mirror