Méthodes Numériques pour la Physique

Alexandre Mayer

Master en Sciences Physiques

Table des matières :

  1. Références et liens intéressants
  2. Conseils généraux pour une programmation en Fortran 90
  3. Programmation avec Octave / MATLAB
  4. Mise en route
  5. Résolution de systèmes linéaires
  6. Interpolation
  7. Quadratures numériques
  8. Ajustements linéaires et optimisation
  9. Intégration d'un système d'équations différentielles
  10. Appendice

Références et liens intéressants


Conseils généraux pour une programmation en Fortran 90

La programmation se fera en Fortran 90. Les programmes seront les plus clairs possible. Vous veillerez en particulier à :

Nous utiliserons souvent des sous-routines du Numerical Recipes. Les interfaces de ces routines sont déjà définies dans le module nr. Elles utilisent en général les modules nrtype et nrutil qui seront expliqués plus tard. Il vous suffira d'inclure ces fichiers dans vos projets.

Pour certains exercices, nous utiliserons la librairie LAPACK. Cette librairie est plus performante que le Numerical Recipes.

Vous pouvez réaliser des graphes en Fortran 90 avec GrWin ou PGPLOT. Pour une visualisation rapide de vos résultats, j'ai préparé un exécutable GetPlot.exe. Il suffit de le lancer pour visionner d'un coup tous les fichiers de données dans le répertoire courant. Il produit par ailleurs les fichiers PostScript correspondants. Le lien suivant décrit le format des fichiers de données.

Voici un modèle de programme contenant des interfaces, fonctions et sous-routines. Il prépare un fichier pour utilisation avec GetPlot.exe. Vous devrez, dans tous vos programmes, utiliser la structure en modules de cet exemple. Pour chaque projet, vous me remettrez un listing de votre programme, les résultats obtenus ainsi que les réponses aux questions posées.

Le compilateur GFORTRAN

Le GFORTRAN implémente le Fortran 90/95/2003/2008. Il supporte la librairie OpenMP, ce qui permet de faire de la programmation en parallèle et d'utiliser ainsi l'ensemble des processeurs de vos machines.

Installation du GFORTRAN pour Windows 10

Pour travailler avec le GFORTRAN vous devez entrer dans une fenêtre d'invite de commandes. Vous trouverez ici les instructions pour compiler.

Pour compiler un projet constitué de plusieurs fichiers, il est plus pratique de faire un Makefile (on lance l'exécution du Makefile par l'instruction make).

Pour une utilisation plus avancée de ce compilateur, vous pouvez consulter la documentation.

Pour faire vos graphiques avec le GFORTRAN sous Windows, vous pouvez utiliser GrWin.

Les librairies LAPACK et PGPLOT ont été compilées avec le GFORTRAN. Vous trouverez les instructions d'installation en consultant mes liens.

Pour éditer vos fichiers, vous pourrez finalement utiliser JEdit ou Notepad++.


Programmation avec Octave / MATLAB

Si vous souhaitez travailler avec Octave (version libre de MATLAB), voici le site officiel d'Octave.

Vous trouverez sur ce site les fichiers d'installation.

Vous trouverez dans ce cours d'Octave les routines à utiliser pour les exercices qui suivent.


Mise en route avec un calcul de fractals

Pour vous remettre au Fortran et à la réalisation de graphiques, vous allez calculer des fractals.

Références

1. Résolution de systèmes linéaires

Dans ce chapitre, nous travaillerons sur une application des résolutions de systèmes linéaires. Pour ce faire, nous utiliserons les routines decomp et solve données dans le livre de Forsythe.

Référence

2. Interpolation

Dans ce chapitre, nous étudierons les interpolations par fonctions spline. Pour ce faire, nous utiliserons les routines spline et splint tirées du Numerical Recipes en Fortran 90.

Référence

3. Quadratures numériques

Utilisation de la routine quanc8 de Forsythe pour intégrer diverses fonctions. Vous pouvez utiliser les autres méthodes vues au cours en vous servant du module IntegrationPack.f90.

Référence

4. Ajustements linéaires et optimisation

Le projet vise à calculer la décomposition SVD d'une matrice réelle, en vue de réaliser un ajustement linéaire général. On utilise pour cela la sous-routine dgesdd de LAPACK.

Référence

5. Intégration d'un système d'équations différentielles

Dans ce chapitre, la routine rkf45 de Forsythe est utilisée pour résoudre l'équation de Newton d'un pendule excité.

Références sur la résolution d'équations différentielles


Appendice