We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Programming Numerical Methods in Python

Murad Elarbi

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.

Read more

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
Enroll now

What's inside

Learning objectives

  • 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.

Syllabus

Introduction

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.

Read more
Program simple iterations, Newton-Raphson and bisection methods. He will know the related SciPy functions.
Introduction and Simple Iterations Method
Simple Iterations Method: Code I (for Loop)
Simple Iterations Method: Code II (while Loop)
Convergence vs Divergence
Newton-Raphson Method
Bisection Method: Algorithm
Bisection Method: Code
False Position (Regula Falsi) Mehtod

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

User-Defined Functions & Run-Time Input
Root Finding in SciPy & Summary
Program linear, Lagrange and Newton interpolation, and linear regression and polynomial curve fitting methods in addition to use related SciPy functions.
Introduction and Linear Interpolation Method
Lagrange's Method: Algorithm
Lagrange's Method: Code
Newton's Method: Algorithm
Newton's Method: Code
Linear Regression: Algorithm
Linear Regression: Code I (for Loop)
Linear Regression: Code II (NumPy Arrays)
Polynomial Fit: Algorithm
Polynomial Fit: Code
Interpolation Functions of SciPy
Curve Fitting Functions of SciPy & Summary
Program finite differences method and represents the results graphically by using matplotlib in addition to use numerical differentiation function of SciPy.
Introduction and Finite Differences Method
Finite Differences Method: Code I
Finite Differences Method: Code II
Plotting Derivative Curves
Numerical Differentiation Function in SciPy & Summary
Program trapezoidal, simpson's 1/3 and 3/8 rules and double integration methods in addition to use the SciPy Quadrature functions.
Introduction & Trapezoidal Rule: Algorithm
Trapezoidal Rule: Code
Simpson's 1/3 Rule: Algorithm
Simpson's 1/3 Rule: Code
Simpson's 3/8 Rule: Algorithm
Simpson's 3/8 Rule: Code
Double Integration: Algorithm
Double Integration: Code
Quadrature in SciPy & Summary
Program Gauss-Elimination, Jacobi and Gauss-Seidel methods in addition to use the NumPy and SciPy linear equations solvers.
Introduction & Gauss Elimination Method: Algorithm
Gauss Elimination Method: Code I (Elimination)
Gauss Elimination Method: Code II (Back-Substitution)
Gauss Elimination Method: Code III (Modifications)
Jacobi's Method: Algorithm
Jacobi's Method: Code
Gauss-Seidel's Method
Diagonal Dominance
Linear System Solution in NumPy and SciPy & Summary

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.

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.

Program Euler, second order Runge_Kutta, fourth order Runge_Kutta and higher order solution methods in addition to SciPy ODE solver.
Introduction & Euler's Method
Second Order Runge-Kutta's Method
Fourth Order Runge-Kutta's Method
Fourth Order Runge-Kutta's Method: Plot Numerical and Exact Solutions
Higher-Order ODE's: Algorithm
Higher-Order ODE's: Code
Higher-Order ODE's: Plotting Solutions
ODE Solution in SciPy & Summary

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops skills and knowledge essential to computational scientific programming in industry and academia
Meets a gap in the industry by offering a course that focuses on programming techniques
Provides a strong foundation by covering essential topics in numerical analysis
May require students to have existing programming knowledge

Save this course

Save Programming Numerical Methods in Python to your list so you can find it easily later:
Save

Reviews summary

Python intro to numerical methods

According to students, this course is a good introductory course on numerical methods. Students note that the course uses Python programming language to solve initial and boundary problems.
Uses Python to solve problems.
"The course uses Python programming language to solve initial and boundary problems,"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Programming Numerical Methods in Python with these activities:
Python refresher
Brush up on your Python programming skills before starting the course to ensure a solid foundation.
Browse courses on Python
Show steps
  • Review the basics of Python syntax and data types.
  • Practice writing simple Python scripts.
  • Use online resources or tutorials to refresh your memory.
  • Complete a few coding challenges to test your understanding.
Numerical Analysis refresher
Review the fundamental concepts of numerical analysis to enhance your comprehension of the course material.
Browse courses on Numerical Analysis
Show steps
  • Go over your previous notes or textbooks on numerical analysis.
  • Focus on key concepts such as error analysis, interpolation, and integration.
  • Solve practice problems to test your understanding.
  • Consult online resources or videos for additional clarification.
Connect with a mentor
Seek guidance and support from experienced professionals in the field of numerical methods.
Browse courses on Mentorship
Show steps
  • Identify potential mentors who have expertise in numerical methods.
  • Reach out to them and express your interest in mentorship.
  • Establish regular communication channels.
  • Seek advice, feedback, and support on your projects and learning journey.
Six other activities
Expand to see all activities and additional details
Show all nine activities
SciPy library tutorial
Familiarize yourself with the SciPy library for scientific and engineering computations.
Browse courses on SciPy
Show steps
  • Find an online tutorial or documentation for SciPy.
  • Follow the tutorial and explore the different functions and modules.
  • Try out some examples and experiment with the library.
  • Identify how SciPy can complement your programming skills.
Python coding drills
Reinforce your understanding of Python programming and numerical methods by solving coding problems.
Browse courses on Python
Show steps
  • Find online Python coding challenges.
  • Choose a problem that aligns with the topics covered in the course.
  • Code the solution in Python.
  • Test your code and debug any errors.
  • Review the solution and identify areas for improvement.
Peer programming group
Enhance your learning by collaborating with peers and solving problems together.
Browse courses on Programming
Show steps
  • Find a group of peers with similar interests.
  • Meet regularly to work on assignments or projects.
  • Discuss different approaches and share ideas.
  • Provide feedback and support to each other.
Attend a numerical analysis workshop
Engage in hands-on learning and gain practical insights by attending a numerical analysis workshop.
Browse courses on Numerical Analysis
Show steps
  • Find a relevant numerical analysis workshop in your area or online.
  • Register and attend the workshop.
  • Actively participate in the discussions and exercises.
  • Network with other attendees.
Python notebook with coded examples
Solidify your understanding by creating a Python notebook that demonstrates the numerical methods covered in the course.
Browse courses on Python
Show steps
  • Start a new Python notebook.
  • Implement the numerical methods using Python code.
  • Include clear and concise explanations for each step.
  • Test your code and ensure it produces the correct results.
  • Share your notebook with others or use it for future reference.
Numerical Recipes: The Art of Scientific Computing
Deepen your understanding of numerical methods and algorithms by reading a classic reference book.
Show steps
  • Read and understand the relevant chapters.
  • Work through the exercises and examples.
  • Apply the concepts to your own programming projects.
  • Discuss the book with classmates or mentors.

Career center

Learners who complete Programming Numerical Methods in Python will develop knowledge and skills that may be useful to these careers:
Data Scientist
Data Scientists blend skills in programming, statistics, and business to mine and analyze large datasets. A background in Python, numerical analysis, and linear equations is highly relevant to Data Science. This course in Programming Numerical Methods in Python can help you build a foundation in these key areas, preparing you for entry into the field.
Financial Analyst
Financial Analysts use historical data to model future financial performance of companies, industries, and economies. Programming Numerical Methods in Python can help you develop the quantitative skills necessary for building financial models and analyzing financial data.
Software Developer
Software Developers write and maintain applications for a range of industries. This course will teach you how to program numerical methods in Python and use libraries such as NumPy for data manipulation and matplotlib for data visualization. These skills translate directly to Software Development.
Data Engineer
Data Engineers design and build systems for storing, managing, and processing big data. The Python, numerical methods, and data manipulation skills taught in this course are essential for Data Engineers.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data, risks, and trends. This course can teach you the Python programming, numerical analysis, and linear algebra skills required in this role.
Machine Learning Engineer
Machine Learning Engineers design and implement machine learning models for a variety of applications. This course can help you build a foundation in Python programming, numerical analysis, and data visualization, which are essential for this role.
Business Analyst
Business Analysts help businesses understand and optimize their performance. This course can help you develop the quantitative and analytical skills necessary for evaluating business processes and making data-driven recommendations.
Operations Research Analyst
Operations Research Analysts use mathematical models to analyze and solve complex business problems. This course can help you develop the Python programming and numerical analysis skills needed for this role.
Physicist
Physicists study the fundamental laws of nature. This course can help you develop the Python programming and numerical analysis skills that are essential for modeling and simulating physical systems.
Mathematician
Mathematicians study the properties of numbers, quantities, and structures. This course can help you develop the Python programming and numerical analysis skills that are increasingly important in mathematical research and applications.
Computational Scientist
Computational Scientists use computers to solve scientific problems. This course can help you develop the programming and numerical analysis skills needed to work with complex scientific data and models.
Financial Risk Manager
Financial Risk Managers identify, assess, and manage financial risks. This course can help you develop the Python programming, numerical analysis, and data visualization skills that are essential for this role.
Statistician
Statisticians collect, analyze, interpret, and present data. This course can help you develop the Python programming, numerical analysis, and data visualization skills that are essential for this role.
Actuary
Actuaries use mathematical and statistical models to assess and manage risks. This course can help you develop the Python programming, numerical analysis, and data visualization skills that are essential for this role.
Economist
Economists study the production, distribution, and consumption of goods and services. This course can help you develop the Python programming and numerical analysis skills that are increasingly important in economic research and forecasting.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programming Numerical Methods in Python.
A comprehensive reference book that covers a wide range of numerical methods, including many of the topics covered in the course. Known for its clear explanations and extensive code examples.
Provides a solid foundation in numerical methods and programming in Python, covering a wide range of topics from root finding to differential equations.
A classic textbook on numerical analysis, providing a comprehensive overview of the subject and covering many of the topics covered in the course.
A comprehensive textbook that covers a wide range of numerical methods, including many of the topics covered in the course. Includes numerous examples and exercises.
A practical guide to using Python for data analysis and scientific computing. Covers many of the libraries and techniques used in the course, such as NumPy, SciPy, and Matplotlib.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Programming Numerical Methods in Python.
Computing for Data Analysis
Most relevant
Computers, Waves, Simulations: A Practical Introduction...
Most relevant
Using Python's Math, Science, and Engineering Libraries
Most relevant
Python in High Performance Computing
Modeling Climate Anomalies with Statistical Analysis
Statistical Learning
Understanding and Applying Numerical Optimization...
Introduction to numerical analysis
Analyzing Data with Python
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser