Programming Numerical Methods in Python
4.6 (385 ratings)
1,877 students enrolled

# Programming Numerical Methods in Python

A Practical Approach to Understand the Numerical Methods
4.6 (385 ratings)
1,877 students enrolled
Last updated 1/2020
English
English [Auto]
Current price: \$62.99 Original price: \$89.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
• 12.5 hours on-demand video
• Access on mobile and TV
• Certificate of Completion
Training 5 or more people?

What you'll learn
• Program the numerical methods to create simple and efficient Python codes that output the numerical solutions at the required degree of accuracy.
• Create and manipulate arrays (vectors and matrices) by using NumPy.
• Use the plotting functions of matplotlib to present your results graphically.
• Apply SciPy numerical analysis functions related to the topics of this course.
Course content
Expand all 57 lectures 12:18:14
+ Introduction
1 lecture 04:50

An introduction to numerical methods, advantages of Python, course goals, course audience, course requirements, how to get the Python IDE and course contents. At the end of this lecture the student will know the knowledge and skills that he will learn in this course. He will know how to install the Python IDE and required modules on his computer.

Preview 04:50
+ Roots of High-Degree Equations
11 lectures 02:28:34
Simple Iterations Method: Code I (for Loop)
26:25
Simple Iterations Method: Code II (while Loop)
14:22
Convergence vs Divergence
05:53
Newton-Raphson Method
15:28
Bisection Method: Algorithm
11:45
Bisection Method: Code
17:29
False Position (Regula Falsi) Mehtod
13:55

This lecture is includes the graphical illustration about how secant method works in addition to the numerical coding by using a Python function.

Secant Method
15:49
User-Defined Functions & Run-Time Input
11:02
Root Finding in SciPy & Summary
10:46
+ Interpolation and Curve Fitting
12 lectures 02:20:58
Lagrange's Method: Algorithm
07:31
Lagrange's Method: Code
17:33
Newton's Method: Algorithm
10:58
Newton's Method: Code
16:05
Linear Regression: Algorithm
04:08
Linear Regression: Code I (for Loop)
08:16
Linear Regression: Code II (NumPy Arrays)
08:28
Polynomial Fit: Algorithm
04:43
Polynomial Fit: Code
24:00
Interpolation Functions of SciPy
08:58
Curve Fitting Functions of SciPy & Summary
14:53
+ Numerical Differentiation
5 lectures 01:02:41
Introduction and Finite Differences Method
12:05
Finite Differences Method: Code I
11:30
Finite Differences Method: Code II
11:26
Plotting Derivative Curves
17:40
Numerical Differentiation Function in SciPy & Summary
10:00
+ Numerical Integration
9 lectures 01:28:36
Introduction & Trapezoidal Rule: Algorithm
07:38
Trapezoidal Rule: Code
11:57
Simpson's 1/3 Rule: Algorithm
07:21
Simpson's 1/3 Rule: Code
08:17
Simpson's 3/8 Rule: Algorithm
05:27
Simpson's 3/8 Rule: Code
09:41
Double Integration: Algorithm
07:54
Double Integration: Code
16:01
14:20
+ Systems of Linear Equations
11 lectures 02:56:08
Introduction & Gauss Elimination Method: Algorithm
26:00
Gauss Elimination Method: Code I (Elimination)
21:09
Gauss Elimination Method: Code II (Back-Substitution)
21:40
Gauss Elimination Method: Code III (Modifications)
16:38
Jacobi's Method: Algorithm
07:14
Jacobi's Method: Code
32:07
Gauss-Seidel's Method
10:48
Diagonal Dominance
05:06
Linear System Solution in NumPy and SciPy & Summary
08:36

In this lecture, the steps of Gauss-Jordan method are explained by using a symbolic 4-equation system as well as a hand-solved numeric example. The outcome is to help the student comprehend the theoretical basis of the method.

Gauss-Jordan Method: Procedure
13:56

In this lecture, the algorithm of Gauss-Jordan method is explained in the light of the general formulas written in the previous lecture. A Python code is also developed to solve the numeric problem. Finally, some modifications are made on the code to utilized the internal Numpy loops instead of explicit Python for loop.

Gauss-Jordan Method: Algorithm & Code
12:54
+ Ordinary Differential Equations
8 lectures 01:56:27
Introduction & Euler's Method
16:22
Second Order Runge-Kutta's Method
07:15
Fourth Order Runge-Kutta's Method
08:37
Fourth Order Runge-Kutta's Method: Plot Numerical and Exact Solutions
15:57
Higher-Order ODE's: Algorithm
08:27
Higher-Order ODE's: Code
22:52
Higher-Order ODE's: Plotting Solutions
20:11
ODE Solution in SciPy & Summary
16:46
Requirements
• You should have a good background in algebra and calculus, in addition to the basic knowledge about computers
• A Python IDE and its libraries NumPy, matplotlib and SciPy should be installed on your computer.
• No previous experience in programming in Python is required.
Description

Many of the Numerical Analysis courses focus on the theory and derivations of the numerical methods more than the programming techniques. Students get the codes of the numerical methods in different languages from textbooks and lab notes and use them in working their assignments instead of programming them by themselves.

For this reason, the course of Programming Numerical Methods in Python focuses on how to program the numerical methods step by step to create the most basic lines of code that run on the computer efficiently and output the solution at the required degree of accuracy.

This course is a practical tutorial for the students of Numerical Analysis to cover the part of the programming skills of their course.

In addition to its simplicity and versatility, Python is a great educational computer language as well as a powerful tool in scientific and engineering computations. For the last years, Python and its data and numerical analysis and plotting libraries, such as NumPy, SciPy and matplotlib, have become very popular programming language and tool in industry and academia.

That’s why this course is based on Python as programming language and NumPy and matplotlib for array manipulation and graphical representation, respectively. At the end of each section, a number of SciPy numerical analysis functions are introduced by examples. In this way, the student will be able to program his codes from scratch and in the same time use the advanced library functions in his work.

This course covers the following topics:

• Roots of High-Degree Equations
• Interpolation and Curve Fitting
• Numerical Differentiation
• Numerical Integration
• Systems of Linear Equations
• Ordinary Differential Equations
Who this course is for:
• The students who currently study their first course in numerical methods and need to understand how the methods are coded in detail.
• The students who need to create their own numerical analysis codes or use Python numerical libraries for their course, project or thesis works.