Level of study
BAC +3
ECTS
3 credits
Component
Faculty of Science
Hourly volume
27h
Description
This UE includes a refresher and deepening of programming techniques as well as an introduction to numerical physics. We will start with a review of procedural programming with the Python 3 language. The use of numerical methods relevant to the simulation and solution of physical problems will then be presented.
Objectives
Learn to program on an advanced level with Python and know how to apply its knowledge in scientific programming. Know and know how to implement usual numerical methods to model physical problems based on the solution of linear algebra problems or on the solution of ordinary differential equations.
Necessary pre-requisites
Notions of programming (an imperative language, ideally Python); mastery of vector and matrix calculations and of mathematical analysis tools (limits, differentiation, integrals, differential equations).
Recommended prerequisites*: Good practice 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, ...)
- Introduction to algorithmic: finding the zeros of a function, sorting a list
- Concept of object-oriented programming (notion of class, objects, attributes, ...)
- NumPy and matpotlib libraries (table manipulation, data visualization)
- Methods of numerical linear algebra (Gauss algorithm, LU decomposition, QR algorithm)
- SciPy library, the Jupyter interface and an exemplary application in digital physics
- Method of solving ordinary differential equations (Euler's method, Runge-Kutta,...)
Additional information
CM : 12 h
TP : 15 h