• Level of study

    BAC +4

  • ECTS

    5 credits

  • Component

    Faculty of Science

  • Hourly volume

    42h

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. Then we will take an in-depth look at numerical methods relevant to physics, studying a selection of classical algorithms from numerical analysis and applying them to physical problems.

Read more

Objectives

Learn to program on an advanced level with Python and know how to apply its knowledge in scientific programming. Know the notions of numerical error, numerical stability and algorithmic complexity. Know and know how to implement selected methods for the numerical calculation of integrals, for the solution of ordinary and partial differential equations and for Monte Carlo sampling.

Read more

Necessary pre-requisites

Basic programming skills. Knowledge of computer science, physics, and mathematics at the undergraduate level.

Recommended prerequisites

Good practice of Python 3 and its modules, especially NumPy. Bachelor's degree training in programming and numerical physics, in particular either "Programming for Physics" or "Simulation Tools" in L3 or equivalent.

Read more

Knowledge control

Continuous control

Read more

Syllabus

Procedural programming with Python 3 (revision and deepening)

Scientific programming, the NumPy library

Graphics with Matplotlib

Notions of numerical error, stability and algorithmic complexity

Numerical quadrature methods: Newton-Cotes methods, adaptive methods, Gauss quadrature

Ordinary differential equations: Runge-Kutta methods, implicit methods, adaptive methods

Finite difference methods for partial differential equations

Monte Carlo sampling and integration

Read more