Bibliothèque de fonctions - Physique numérique 1999-2001

Note liminaire

Résoudre numériquement des problèmes de physique mathématique est un art difficile. Heureusement, il n'est pas nécessaire de réinventer la roue à chaque nouvelle question. Des méthodes standard et bien documentées existent.

La tache principale du physicien numéricien consiste donc à ramener son problème à une forme connue pour pouvoir s'appuyer sur le travail de ses prédécesseur. Cet ainsi qu'il pourra disposer du temps nécessaire pour comprendre et interpréter ses résultats...

Olivier Ronsin et Jacques Le Bourlot ont développé quelques éléments d'une bibliothèque de méthodes numériques de base. Certains programmes s'inspirent de très près de ceux publiés dans Numerical Recipes. D'autres nous sont originaux. Tout ce qui suit et qui ne relève pas d'une licence précédente est publié sous GPL.

Attention Mise à jour du 16 janvier 2004

le fichier "phynum.h" est modifié !

Table

La bibliothèque de fonctions C libphn.a comprend sept fonctions permettant respectivement:

- L'intégration d'équations différentielles ordinaires (Runge-Kutta d'ordre 4 avec pas adaptatif)
- L'intégration d'équations différentielles pour un système Hamiltonnien (Runge-Kutta symplectique d'ordre 4 avec pas constant)
- La transformée de Fourier (Transformée de Fourier rapide)
- La diagonalisation de matrices symétriques (méthode de Jacobi)
- La résolution de systèmes linéaires (décomposition LU)
- La résolution de systèmes non linéaires (méthode de Newton-Raphson)
- Le calcul d'intégrale définie (méthode de Romberg)

Les sources sont disponibles sous la forme d'un fichier libphn.tar.gz, archivé et compressé. Téléchargez le avec la touche MAJUSCULE!!

Utilisation

Pour utiliser cette bibliothèque, il faut:
- Inclure le fichier de définition phynum.h des fonctions avec la commande

#include "phynum.h"

- Compiler le programme en incluant la bibliothèque de fonctions. Pour cela, il y a deux possibilités
    - donner explicitement le nom de la bibliothèque (comme pour un fichier objet d'extension .o):

gcc -o toto.exe toto.c libphn.a -lm
    - utliser l'option d'inclusion de bibliothèque (-l) mais en précisant au compilateur de chercher aussi dans le répertoire où se trouve cette bibliothèque (option -Lrepertoire):
gcc -L. -o toto.exe toto.c -lm -lphn
si le fichier libphn.a est dans le répertoire courant (.).
Dans les deux cas, il ne faut pas oublier de lier la bibliothèque de fonctions mathématiques (option -lm) qui est utilisée par les fonctions de la bibliothèque.