Revenir à Teachings

IS104 – Algorithmique Numérique

Cette page est consacrée au cours intégré d’Algorithmique Numérique intitulé IS104 réalisé en première année à l’ENSEIRB-MatMéca.

Intervenants pour 2018/2019

  • Groupe 1: Pierre Ramet (1,2,3), Mathieu Faverge (4,5,6)
  • Groupe 2: Marc Durufle (1,2,3,4,5,6)
  • Groupe 3: Emmanuel Agullo (1,2,3), P. Ramet (4), M. Faverge (5), L. Chancogne (6)
  • Groupe 4: Gilles Marait (1,2,3), Laurent Chancogne (4,5,6)

Informations relatives au module

Liste des projets

  • Présentation de Numpy/Scipy
  • Projet 1 : Méthodes de calcul numérique / Limites de la machine
    Début : 14 Janvier, Fin : 24 Janvier, Remise : 27 Janvier
  • Projet 2 : Résolution de systèmes linéaires / Application à l’équation de la chaleur
    Début : 28 Janvier, Fin : 7 Février, Remise : 10 Février
  • Projet 3 : Compression d’image par l’algorithme de décomposition SVD
    Début : 11 Février, Fin : 21 Février, Remise : 24 Février
  • Projet 4 : Non-linear systems of equations / Newton-Raphson Method
    Début : 11 Mars, Fin : 22 Mars, Remise : 24 Mars
  • Projet 5 : Interpolation and integration methods / Cubic splines and surface interpolation
    Début : 25 Mars, Fin : 4 avril
    • Première version pour les enseignants inforrmatique: 7 avril
    • Première version pour les enseignants d’anglais: 12 avril
    • Discussion avec les enseignants d’anglais: semaine du 15 avril
    • Remise de la version finale aux enseignants anglais ET informatique: 29 Avril
    • Attention: Pour ce projet, chaque étudiant doit rédiger une section du rapport et adosser son nom au titre de section qu’il a rédigé pour plus de clarté vis-à-vis du département de langue. Cela ne veut pas dire que les autres rapports sont rédigés et relus par une seule personne !!! 🙂
  • Projet 6 : Résolution approchée d’équations différentielles / Modélisation de systèmes dynamiques
    Début : 8 Avril, Fin : 19 Avril, Remise : 21 Avril

Les dates de remises sont toutes en 2019 à 23:59:59 du jour donné.

Liens utiles

  • Aide-mémoire de fonctions Python, syntaxe du langage, liste des fonctions utiles, comment tracer une figure …), aide à la configuration de son environnement
  • Mini-lexique anglais-français sur le thème de l’algorithmique numérique et des mathématiques appliquées ( dico.pdf )
  • Le fichier python-mode.el permettant d’utiliser un mode python correct sour emacs. Le script utilisé pour décompresser les archives des projets et tester approximativement les fichiers de code.
  • Un fichier d’en-tête (format LaTeX) pouvant servir à rédiger les compte-rendus
L’ensemble des pages web d’IS104 est issu des pages web de David Renault.

Configuration de l’environnement

Utilisation de Python à travers Emacs Commande Bibl. Résultat C-c ! Lance l’interpréteur python dans un 2ème buffer Emacs C-c C-k Désigne le bloc de code autour du curseur comme la région courante C-c C-e Copie la région courante et l’exécute dans l’interpréteur C-x o Bascule entre plusieurs buffers Emacs affichés à l’écran

Fonctionnement des projets

Généralités Au cours du module d’IS 104, il sera demandé de réaliser un certain nombre de travaux en équipes appelés ici projets. Ces projets sont destinés à être réalisés en moins de deux semaines, par des équipes de 4 ou 5 personnes. Chacun de ces projet consiste en la réalisation de trois éléments distincts : …

Présentation de Numpy/Scipy

Il existe un certain nombre de versions de Python installées sur les machines de l’ENSEIRB. Les exercices de cette feuille sont basés sur la version 2.7.3. Avant de commencer cette feuille, se référer à la page de configuration pour mettre en place l’environnement de travail. Remarques : Toutes les zones de code sont copiables à …

Aide mémoire Numpy/Scipy

Cette partie comporte une liste de fonctions et commandes du langage Python (ainsi que de ses bibliothèques Numpy et Scipy) qui sont généralement utilisées lors de la composition d’algorithmes numériques. Pour mémoire, les documentations de référence de ces bibliothèques sont disponibles aux adresses suivantes : http://docs.scipy.org/doc/numpy/reference http://docs.scipy.org/doc/scipy/reference Manipulation globale Commande Bibl. Résultat import file Importe le …

Syntaxe du langage Python

Import des bibliothèques Afin d’utiliser les bibliothèques mathématiques de python, il est nécessaire de les importer (de manière équivalente à la primitive include en langage C). La manière recommandée d’importer une bibliothèque comm0e numpy est la suivante : import numpy as np; Ici, np est un alias pour le nom de la bibliothèque numpy. Après …

Projet 1 : Méthodes de calcul numérique / Limites de la machine

Il est conseillé de lire entièrement chaque partie avant de s’atteler à la tâche. Le but de ce projet consiste à évaluer les problèmes qui peuvent apparaître lors de l’utilisation d’opérations élémentaires, voire d’algorithmes plus poussés, sur des nombres flottants. la première partie s’intéresse à trouver des exemples dans lesquels les opérations élémentaires sont insuffisamment …

Projet 2 : Méthode du gradient conjugué / Application à l’équation de la chaleur

Le but de ce projet consiste à implémenter des algorithmes derésolution de systèmes linéaires de grande taille, et à les appliquer à un problème de résolution d’équation aux dérivées partielles. Dans ce devoir, on considère uniquement des systèmes linéaires symétriques, définis positifs et creux (ne comportant que relativement peu d’éléments non nuls), et on exploite …

Projet 3 : Compression d’image à travers la factorisation SVD

Le but de ce projet consiste à programmer un algorithme permettant de faire de la compression d’images en utilisant des techniques matricielles basée sur la factorisation SVD. Ce type d’algorithme est à relier aux algorithmes de compression avec pertes, dont le plus connu est certainement l’algorithme de compression JPEG, lui-même basé usuellement sur la Discrete …

Projet 4 : Non-linear systems of equations / Newton-Raphson method

The goal of this project is to program algorithms dedicated to the research of roots of systems of non-linear equations. The method promoted here is the Newton-Raphson algorithm, and the goal is to evaluate the assets and liabilities of such a solution. This shall be done by testing the method in different settings. In the …

Projet 5 : Interpolation and integration methods / Cubic splines and surface interpolation

This project implements a (somewhat basic) model to represent the air flow around an airfoil, i.e. the cross section of an aircraft’s wing. The goal consists in obtaining a pressure map above and below the wing, so as to approximate the wing’s lift, i.e. its ability to sustain the plane in the air. This is …

Projet 6 : Résolution approchée d’équations différentielles / Modélisation de systèmes dynamiques

Pour cet ultime projet, nous allons nous intéresser aux méthodes de résolution d’équations différentielles ordinaires (EDO). L’intérêt de ces équations réside dans le fait qu’elles permettent de modéliser des systèmes complexes relativement facilement. Ce qui ne signifie pas forcément que leur résolution ne pose pas de problèmes. Ce projet comporte deux parties : Dans un premier …