Back to Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python

4.8

stars

186 ratings

•

72 reviews

Interested in learning how to solve partial differential equations with numerical methods and how to turn them into python codes? This course provides you with a basic introduction how to apply methods like the finite-difference method, the pseudospectral method, the linear and spectral element method to the 1D (or 2D) scalar wave equation. The mathematical derivation of the computational algorithm is accompanied by python codes embedded in Jupyter notebooks. In a unique setup you can see how the mathematical equations are transformed to a computer code and the results visualized. The emphasis is on illustrating the fundamental mathematical ingredients of the various numerical methods (e.g., Taylor series, Fourier series, differentiation, function interpolation, numerical integration) and how they compare. You will be provided with strategies how to ensure your solutions are correct, for example benchmarking with analytical solutions or convergence tests. The mathematical aspects are complemented by a basic introduction to wave physics, discretization, meshes, parallel programming, computing models.
The course targets anyone who aims at developing or using numerical methods applied to partial differential equations and is seeking a practical introduction at a basic level. The methodologies discussed are widely used in natural sciences, engineering, as well as economics and other fields....

Nov 27, 2019

A fascinating teaching technique, delivering quality content with a well-thought quizzes system! It' hard to find better courses in the domain of Finite Difference and Spectral Element methods

Jul 12, 2020

This is an excellent course as I have found. The instructor has taught us many important concepts including the detailed codes. I would love to join further courses from Prof. Igel.

Filter by:

By tom w

•May 01, 2019

This is an excellent course. Professor Igel did an excellent job putting this material together. His intimate familiarity and comfort with the material is certainly key to the clear explanation of concepts he provides.The subject material was something I should have learned at a younger age. Those planning to pursue a career in Geophysics will benefit greatly from this course. Many topics are covered in the course, the use of Green's functions is clarified, finite difference methods are derived and illustrated using Taylor series expansions, pseudospectral methods are developed... It was nice to return to uses of Chebyhev polynmials, Lagrange and Legendre polynomials and get a better grasp of their use. The psudospectral section was particularly fascinating since geophysicists routinely use Fourier transforms in their analysis and the applications to simulation provide new insights into their use.There is much to be gained through the course. I suspect it is at an intermediate level and serves as a good foundation for more advanced study. The Jupyter notebooks were excellent and provide an excellent resource for further study and application. They also serve as excellent examples of Python coding of various finite difference and finite element simulations along with applications going beyond this course.

By Sean B

•Sep 04, 2019

I can't say enough nice things about this course. I struggled with numerical methods as an engineering undergraduate, but Dr. Igel did a fantastic job of presenting and explaining the material. The few errors are quickly resolved and explained. Other courses I've utilized have forums full of confusion about quizzes and unresolved errors; those simply aren't present here. The supplementary materials are amazing and abundant and the instructor clearly enjoys what he's teaching. I hope Dr. Igel will present more courses soon! Enjoy!

By rasheed a

•Jun 10, 2019

This is a great course! It has the perfect amount of theory and practice of seismic wave propagation. I had a lot of fun experimenting with the Python codes and converting them to MATLAB. Thank you for the effort you put into its development, Dr. Igel. Moving forward, I wonder if you planned to develop a similar course for the inverse problem.

By Mohammed E F

•Nov 27, 2019

A fascinating teaching technique, delivering quality content with a well-thought quizzes system! It' hard to find better courses in the domain of Finite Difference and Spectral Element methods

By Noah L

•Mar 14, 2019

Well thought out. The material is ordered logically and easy to follow. This online course compliments the book from which it is based on.

By James S

•Oct 14, 2019

Excellent coverage of the fundamentals. Would love to see another course like this developed that covers more advanced material.

By Deleted A

•May 13, 2019

A great course for anyone interested in numerical methods applied to the wave equation. Clear and engaging lectures.

By Manoj J

•Jul 12, 2019

An excellent course for anybody intending to learn numerical analysis with Python.

By Vu N

•May 03, 2020

This is a perfect course to introduce the learners to the world of numerical methods and finite element methods. The technical contents are deeper than what I initially thought about, but the programming examples and the quizzes helped clarifying many things that I was not clear.

The Jupyter notebook is a very good editing tool and programming environment because the comments (markdown) can be edited with mathematical symbols. The setting of the Jupyter notebook allows the learners to go back and change each code block to modify/troubleshoot and study in a good way.

It is good that learners are allowed to access all the course materials and graded parts for free. I like that way because I can arrange my time to finish the course first and pay the fee to upgrade (get the certificate) later. In other courses I paid the fee upfront but I was later too busy on other things and couldn't finish those courses and then lost my money.

By Anubhav

•Jun 08, 2020

I finally finished the course today. It was so much fun. So, I had already done a course in FEM and used FD to solve some basic engineering differential equation problems. I took this course for a better understanding of algorithms that goes behind a real life problem scenario (the ones which can hang your calculator if tried to solve on). This course takes on all the most used numerical techniques and covers them quite efficiently- FDM, FEM, SEM. You may not find a lot of derivations of formulae used in this course for obvious reasons (check the title of the course). But that is very usual, otherwise each weeks will require a separate course by itself. I would like to specifically stress upon the efficiency of using Jupyter notebooks for python codes. It made the understanding of algorithm part very smooth and couldn't be better. Thank you Coursera and the course instructors for making this journey a great one.

By Niels C N

•Apr 13, 2019

Heiner Igel is an excellent teacher and he stops Just before the real complications begin as he should at this introduction level. The format of the course is such that Heiner Igel explains to the viewer while hand-written equations and drawings appear absolutely synchronized in the background. Then there are programming exercises where you can run simulations in Python (using Jupyter Notebooks). The programs are well-structured and easy to follow and manipulate to test out the theories. Super well prepared - it has clearly taken a very long time to put this course together. The explanations are detailed enough to get a good feel for the numerical methods and their implementations, but not such that everything is painstakingly derived mathematically. Overall a good introduction to numerical methods without too many complications, but you do get a feel for how complicated it could quickly become.

By Yohanes N

•May 29, 2020

I am very proud of completing this course! I could say that this course is very recommended for everyone. The course contents assume that you're familiar with engineering maths, but the courses are highly understandable and interactive. Plus, there are Jupyter notebooks to accompany you programming in Python. Heiner Igel is a very brilliant professor, he always responded to most of my questions and gave valuable feedback. Just perfect, hoping there's a sequel of this course! Thanks very much.

By Portia S

•Jan 19, 2020

This course is by far the best Numerical Methods MOOC course . The lecture breaks down the physical meaning of the mathematics and helps you visualize the solution. The practical exercises are great for people who are learning with the intent of using the skills and not just for obtaining a passing grade. The lecturer answers queries promptly and teaches the subject with enthusiasm . I was encouraged to apply my mind. Thank you.

By Honam Y

•Jun 16, 2020

My background is optical physics and quantum optics. However, I think that this course should be a pretty clear and straightforward introduction and explanation to people who just start learning linear algebra and concepts of basic wave mechanics. This is the first time for me to study seriously finite difference and elements simulations. I deeply appreciate finite approaches and associated mathematical skills.

By Phillip L

•Jul 13, 2019

Incredibly good jupyter notebooks. Very good balance between theory and application. I would have liked to learn about more differential equation than the elastic wave equations and how the methods learned in this course can be applied to other pdes. But then again... "waves" is in the title of the course, so it's not too surprising that waves are the focus of the lecture.

By Muhammad B S

•Aug 15, 2019

One of the best things about this course is the professor's elegant and lucid explanation of difficult concepts of numerical methods during his scintillating lectures. He is actually aware of his field very well. And the integration of properly commented Jupyter notebooks justified it's name as to "A practical introduction......". Thanks, Professor!!

By Daniel S W

•May 08, 2019

This course has been an eye opener for me in computational seismology. The concepts and content have been presented in a simple to understand and implement manner. The Jupiter notebooks inclusion in the course were very invaluable. This is a great introduction to seismology. Thank you so much Prof. Igel.

By Agastya

•Jun 11, 2019

Learnt a lot from this course. Very well structured. Some knowledge of seismology, numerical computation is useful. Even otherwise, Prof.Igel does a great job delivering the core concepts of seismic simulation. Would highly recommend to anyone who is interested in numerical modeling of wave propagation.

By Andrey M S d S d L

•Apr 07, 2019

It was the greatest course that I have taken online because it asks you the main ideas through the video, so I only needed to take feel notes on the calculations. I finished it in 9 days and I will definitely recommend to my friends from my former university.

By David

•Feb 08, 2020

Really good professor, good balance between pure maths/physics and its applications in the computational world! As a 'just graduated' physicist, I feel like it was a nice boost in my knowledge because, besides everything, we always learn something new.

By Victor M

•Nov 03, 2019

Five stars? Yes!!! Because this is a great course. The instructor is in top of his game. I have learnt and understood things I did not understand since 4 years I started learning them. I suggest the instructor give tutorials on 2D methods as well.

By ASHISH C

•Apr 09, 2019

Had a great time learning the concepts of numerical methods and how to apply them using python. This course gave an insight into many real world problems and how their solution can be approached using numerical techniques.

Thank you very much sir.

By M V S

•Jul 25, 2020

Such an amazing Instructor, hats of to you sir. It was such a nice experience to do this course, the lecture videos are very lucid and I am really happy to learn a wide variety of numerical methods along with the ability to code it in python.

By Mohammad

•Aug 04, 2020

One of the best online courses I've ever had. It helped me to learn concepts of numerical analysis in the area of wave propagation , dynamics and seismology , special thanks to Dr.Heiner Igel and Coursera for this state-of-the-art course !

By Doreen B

•Jun 09, 2019

Very clear explanations, and visually striking. Python parts well thought out- both in their content, accompanying videos and notebook implementation. Of all the courses I have taken online, this makes the best use of the medium.

- AI for Everyone
- Introduction to TensorFlow
- Neural Networks and Deep Learning
- Algorithms, Part 1
- Algorithms, Part 2
- Machine Learning
- Machine Learning with Python
- Machine Learning Using Sas Viya
- R Programming
- Intro to Programming with Matlab
- Data Analysis with Python
- AWS Fundamentals: Going Cloud Native
- Google Cloud Platform Fundamentals
- Site Reliability Engineering
- Speak English Professionally
- The Science of Well Being
- Learning How to Learn
- Financial Markets
- Hypothesis Testing in Public Health
- Foundations of Everyday Leadership

- Deep Learning
- Python for Everybody
- Data Science
- Applied Data Science with Python
- Business Foundations
- Architecting with Google Cloud Platform
- Data Engineering on Google Cloud Platform
- Excel to MySQL
- Advanced Machine Learning
- Mathematics for Machine Learning
- Self-Driving Cars
- Blockchain Revolution for the Enterprise
- Business Analytics
- Excel Skills for Business
- Digital Marketing
- Statistical Analysis with R for Public Health
- Fundamentals of Immunology
- Anatomy
- Managing Innovation and Design Thinking
- Foundations of Positive Psychology