Programming Numerical Methods in Python
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.
- 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.
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.
I am a Mechanical Engineering Lecturer in the University of Benghazi, Libya since 2005. I taught courses of Strength of Materials, Theory of Machines, Machine Design Projects and Engineering Drawing. My research interest is the computational mechanics where numerical methods and computer programming are the main tools of solution in addition to theories of mechanics. I instructed several computer language training courses of BASIC, Fortran, C++ and MATLAB. Currently, I am in the USA for the Ph.D. degree.