Study level
BAC +3
ECTS
3 credits
Component
Faculty of Science
Hourly volume
27h
Description
This UE includes a refresher and a deepening of programming techniques as well as an introduction to numerical physics. It begins with a review of procedural programming using the Python 3 language. We will then introduce the use of numerical methods relevant to the simulation and solution of physical problems.
Objectives
Learn to program at an advanced level with Python and apply your knowledge of scientific programming. Know and implement common numerical methods for modeling physical problems based on solving linear algebra problems or ordinary differential equations.
Necessary prerequisites
Programming skills (an imperative language, ideally Python); mastery of vector and matrix calculations and mathematical analysis tools (limits, differentiation, integrals, differential equations).
Recommended prerequisites* : Familiarity with Python 3 and its modules, especially NumPy. Bachelor's degree in programming and Python (imperative programming); familiarity with a Linux system.
Knowledge control
CCI
Syllabus
Reminders and complements of the Python language (instructions, variables and data types, control structures, etc.)
- Introduction to algorithms: finding the zeros of a function, sorting a list
- Notion of object-oriented programming (notion of class, objects, attributes, etc.)
- NumPy and matpotlib libraries (table manipulation, data visualization)
- Numerical linear algebra methods (Gauss algorithm, LU decomposition, QR algorithm)
- SciPy library, the Jupyter interface and an exemplary application in digital physics
- Methods for solving ordinary differential equations (Euler method, Runge-Kutta, etc.)
Further information
CM : 12 h
Practical work: 15 h