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

Read more

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.

Read more

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

Read more

Knowledge control

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

Additional information

CM : 12 h

TP : 15 h

Read more