• 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.

Read more

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.

Read more

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.

Read more

Knowledge control

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.)
Read more

Further information

CM : 12 h

Practical work: 15 h

Read more