Feuille de TP n 1 Initiation à Matlab

Documents pareils
Introduction à MATLAB R

Calcul Formel et Numérique, Partie I

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Cours 7 : Utilisation de modules sous python

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Texte Agrégation limitée par diffusion interne

3.2. Matlab/Simulink Généralités

Simulation de variables aléatoires

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Calcul Formel et Numérique, Partie I

Chaînes de Markov au lycée

Programmes des classes préparatoires aux Grandes Ecoles

Estimation et tests statistiques, TD 5. Solutions

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Licence Sciences et Technologies Examen janvier 2010

Complément d information concernant la fiche de concordance

TP 0 : INTRODUCTION À MATLAB

Séance 0 : Linux + Octave : le compromis idéal

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Loi binomiale Lois normales

MÉTHODE DE MONTE CARLO.

1 Recherche en table par balayage

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Lois de probabilité. Anita Burgun

PROBABILITES ET STATISTIQUE I&II

STAGE IREM 0- Premiers pas en Python

Initiation à la programmation en Python

Programmation C++ (débutant)/instructions for, while et do...while

Principe de symétrisation pour la construction d un test adaptatif

Algorithmique I. Algorithmique I p.1/??

Probabilités Loi binomiale Exercices corrigés

TP 1 Introduction à Matlab Février 2009

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

TSTI 2D CH X : Exemples de lois à densité 1

TP 1. Prise en main du langage Python

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Modélisation aléatoire en fiabilité des logiciels

Découverte du tableur CellSheet

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes

Aide - mémoire gnuplot 4.0

Correction du baccalauréat STMG Polynésie 17 juin 2014

Introduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Correction du baccalauréat ES/L Métropole 20 juin 2014

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Annexe commune aux séries ES, L et S : boîtes et quantiles

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

données en connaissance et en actions?

LES GENERATEURS DE NOMBRES ALEATOIRES

Introduction à l approche bootstrap

Cours Informatique Master STEP

Résolution de systèmes linéaires par des méthodes directes

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

Corrigé des TD 1 à 5

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Continuité et dérivabilité d une fonction

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

L ALGORITHMIQUE. Algorithme

Introduction à la théorie des files d'attente. Claude Chaudet

Rappels sur les suites - Algorithme

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Master IMEA 1 Calcul Stochastique et Finance Feuille de T.D. n o 1

Présentation du langage et premières fonctions

Python - introduction à la programmation et calcul scientifique

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Probabilités conditionnelles Loi binomiale

Couples de variables aléatoires discrètes

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Feuille TD n 1 Exercices d algorithmique éléments de correction

L effet régulateur des moteurs de recherche. MICHEL Laurent

Initiation à l algorithmique

Commun à tous les candidats

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Correction de l examen de la première session

Chapitre 5 : Flot maximal dans un graphe

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Traitement des données avec Microsoft EXCEL 2010

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

Equations cartésiennes d une droite

Projet de Traitement du Signal Segmentation d images SAR

1. Structure d'un programme FORTRAN 95

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

Variables Aléatoires. Chapitre 2

Modélisation et simulation

Probabilités conditionnelles Loi binomiale

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Statistiques Descriptives à une dimension

LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

Transcription:

Université de l Anonyme XXII Préparation à l épreuve de modélisation - Agrégation Externe de Mathématiques 2004. Page n 1. Feuille de TP n 1 Initiation à Matlab Ce TP porte sur les entrées et sorties, les fonctions et les outils graphiques dont vous disposez sous Matlab. 1 Entrées et sorties La commande input permet de demander à l utilisateur Matlab d entrer les valeurs de variables à utiliser. La commande pause permet de stopper l exécution Matlab. Vous pouvez préciser le nombre de secondes de pose ou revenir à Matlab en appuyant sur n importe quelle touche. La commande save permet de sauvegarder dans un fichier, dont le nom par défaut est matlab.mat, le contenu de certaines variables dont vous souhaitez garder une trace. Ce fichier peut être appelé par la commande load qui restaure toutes les variables que vous avez sauvegardées. n=input ( Entrez l a v a l e u r de n : ) ; Affectez une valeur à n. a=input ( P r e c i s e z l a v a l e u r de a : ) ; Affectez une valeur à a. v=a. ˆ [ 0 : n ] ; A=toeplitz ( v ) ; d=det (A ) ; Création de la matrice de Toeplitz A save r e s t o e p n a A d ; Sauvegarde de n, a, A, d dans restoep.mat clear Efface toutes les variables de la session. load r e s t o e p Restaure les variables de restoep. mat. who Vérification. 2 Fonctions Un ensemble de commandes Matlab peut être considéré comme une fonction. On peut voir une fonction comme un sous-programme Matlab dont les paramètres éventuels sont les arguments de la fonction et dont les résultats sont les images de cette fonction. Beaucoup de fonctions Matlab, comme par exemple mean, sont déjà écrites en Matlab et le code Matlab correspondant est stocké dans un fichier dont le nom se termine par.m. Pour mean, il s agit de mean.m. Ajouter de nouvelles fonctions à Matlab revient donc à écrire de nouveaux fichiers de ce type. Il est d usage d appeler une fonction du même nom que le fichier correspondant. Simulation de lois discrètes. Dans votre répertoire personnel, éditer le fichier probadis.m suivant dont le code Matlab génère une réalisation aléatoire d une loi discrète à support fini. function r e s = probadis ( x, p ) res = PROBADIS (x,p) Input x vector of real numbers ( support points in IR) p vector of probability weights associated to x i.e. non - negative real numbers such that sum(p) == 1 Output res random number chosen from the finite discrete distribution on x(1),..., x(n) with probability weights p(1),..., p(n) where n == length(x) == length(p) Renvoie UNE réalisation de la loi discrète à support fini sur IR dont les points de support sont les composantes du vecteur x, et les poids sont les composantes du vecteur p. Donc x(i) a une probabilité p(i) d ^etre renvoyé. La méthode consiste à écrire l intervalle [0,1] comme une réunion disjointe d intervalles de longueurs p(1),..., p(n) puis à regarder au quel appartient 14 février 2004. Copyright c A. Grégatif agreg@labo.univ.fr. GNU FDL Copyleft. Page n 1.

Université de l Anonyme XXII Préparation à l épreuve de modélisation - Agrégation Externe de Mathématiques 2004. Page n 2. la réalisation d une loi uniforme obtenue par un appel à rand. Les valeurs renvoyées par des appels successifs sont donc pseudo - indépantes. Pour des raisons d efficacité, les conditions nécessaires suivantes ne sont pas contr^olées par cette fonction : - le nombre de paramètres passés est exactement 2 - les deux paramètres x et p sont bien des vecteurs et sont de m^eme longueur - les composantes de p sont positives ou nulles et leur somme vaut 1. See also RDISCR. ### Copyright ( C) D. Chafaï, 2003-12 -06. ### http :// www.lsp.ups -tlse.fr/chafai/agregation.html ### Licence GNU General Public License http :// www. gnu. org/ copyleft / gpl. html On pourrait implémenter cette fonction de la façon suivante : INDICES = find( cumsum(p) >= rand ); res = x( INDICES (1)); return; Cette méthode est correcte mais inefficace car elle ne tient pas compte de la monotonie de cumsum(p), ce qui entraine des tests inutiles une fois que la valeur critique a été franchie. En jargon, c est un firstmatch qu il nous faut, pas un matchall. Le nombre de if impliqués dans find est toujours égal à la taille de ce qu on lui passe en paramètre. Morale de l histoire : la brièveté d un code n assure pas sa performance! Et l abscence de if dans un code ne signifie pas qu il ne fait pas appel indirectement à des if, et encore moins que cela est fait de manière optimale! La fonction find n est qu une boucle for contenant un if. Ci - dessous, nous utilisons une version plus rapide dans le plus pur style for - if avec un nombre de if optimal. On pourrait adapter l ordre des intervalles testés ( et donc l arbre associéé ) aux poids p(i) de façon à tester d abord les intervalles les plus probables. Est - ce vraiment mieux? Exercice! n = length ( x ) ; le nombre d atomes. r = rand ; une réalisation de loi uniforme sur [0,1]. a = 0 ; b = p ( 1 ) ; [a,b] = sous - intervalle de proba p(i) pour l uniforme. for i = 1 : n 1 parcours de tous les sous - intervalles juxtaposés. i f ( ( r >= a ) & ( r < b ) ) r e s = x ( i ) ; return ; on a trouvé le bon intervalle, on sort. a = b ; b = b + p ( i +1); on passe à l intervalle suivant. r e s = x ( n ) ; le bon intervalle est le dernier. return ; La commande Matlab type permet de lister le contenu d un fichier. Ainsi, type probadis vous montrera le code source Matlab de la fonction probadis. Le commentaire ajouté à partir de la seconde 14 février 2004. Copyright c A. Grégatif agreg@labo.univ.fr. GNU FDL Copyleft. Page n 2.

Université de l Anonyme XXII Préparation à l épreuve de modélisation - Agrégation Externe de Mathématiques 2004. Page n 3. ligne constituera l aide affiché lorsque l utilisateur tapera help probadis. Finalement, la commande what liste les fichiers Matlab du répertoire courant. Voici une autre fonction de simulation de loi discrète, qui peut renvoyer une matrice de réalisations. function X = r d i s c r (num, x, p ) X = RDISCR( num,x,p) Input num positive integer or a vector [ lig, col ] of integers x vector of real numbers ( support points in IR) p vector of probability weights associated to x i.e. non - negative real numbers such that sum(p) == 1 Output X num - vector or a num - matrix of random numbers chosen from the finite discrete distribution on x(1),...,x(n) with probability weights p(1),...,p(n) where n == length(x) == length(p) Renvoie num réalisations ou une matrice [ lig, col ] de réalisations pseudo -i.i.d de la loi discrète à support fini sur IR dont les points de support sont les composantes du vecteur x, et les poids sont les composantes du vecteur p. Donc x(i) a une probabilité p(i) d ^etre renvoyé. La méthode consiste à écrire l intervalle [0,1] comme une réunion disjointe d intervalles de longueurs p(1),..., p(n) puis à regarder au quel appartient la réalisation d une loi uniforme obtenue par un appel à rand. Les valeurs renvoyées par des appels successifs sont donc pseudo - indépantes. Pour des raisons d efficacité, les conditions nécessaires suivantes ne sont pas contr^olées par cette fonction : - le nombre de paramètres passés est exactement 3 - les deux paramètres x et p sont bien des vecteurs et sont de m^eme longueur - les composantes de p sont positives ou nulles et leur somme vaut 1 - le paramètre num est un entier positif non nul une un couple de ce type See also PROBADIS. ### Copyright ( C) D. Chafaï, 2003-12 -06. ### http :// www.lsp.ups -tlse.fr/chafai/agregation.html ### Licence GNU General Public License http :// www. gnu. org/ copyleft / gpl. html Voir les commentaires dans le code de la fonction probadis. Faire type probadis pour cela. Le code qui suit pourrait beaucoup gagner en rapidité sur une machine // Il est possible de l améliorer en stockant un arbre construit avec les tests utilisés par les valeurs déjà générées. Il est surtout aussi possible d imiter le code matriciel de la fonction de répartition inverse binomiale de la fonction qbinom de Stixbox, appelée par rbinom. Exercice! D autres algorithmes sont possibles. Par exemple, on pourrait procéder avec des réalisations de Bernoulli i.i.d. ( obtenues facilement avec rand) pour choisir l intervalle : La probabilité d ^etre <= x(1) est p(1) Sinon, la probabilité d ^etre <= x(2) est p(2)/ sum(p(2: n)) etc. Nul besoin de commencer par x(1), et l on peut adapter l arbre utilisé aux poids p(i) de façon à faire un nombre de tests optimal. Exercice! 14 février 2004. Copyright c A. Grégatif agreg@labo.univ.fr. GNU FDL Copyleft. Page n 3.

Université de l Anonyme XXII Préparation à l épreuve de modélisation - Agrégation Externe de Mathématiques 2004. Page n 4. i f length (num) == 1 num = [num 1 ] ; else num = reshape (num, 1, 2 ) ; n = length ( x ) ; le nombre d atomes. U = rand (num ) ; réalisations de loi uniforme sur [0,1]. X = repmat ( x ( n ),num( 1 ),num ( 2 ) ) ; par défaut, la valeur est la plus grande for l = 1 :num( 1 ) lignes for return ; c = 1 :num( 2 ) colonnes a = 0 ; b = p ( 1 ) ; [a,b] = sous -inter. de proba p(i) pour l uniforme. for i = 1 : n 1 parcours de tous les sous - intervalles juxtaposés. i f ( (U( l, c ) >= a ) & (U( l, c ) < b ) ) X( l, c ) = x ( i ) ; break ; on a trouvé le bon intervalle, on sort. a = b ; b = b + p ( i +1); on passe à l intervalle suivant. Exercice 2.1 (Loi binomiale). Créer un code Matlab permettant de générer un vecteur aléatoire X contenant N réalisations i.i.d. de loi binomiale B(n, p) où les valeurs N, n 1 et 0 < p < 1 sont affectées par l utilisateur. Pour N assez grand, vérifier la LGN sur les moyennes empiriques successives de X. Voici un exemple de programme qui fait l affaire, et donc la sortie graphique se trouve en page 6. ### Copyright ( C) D. Chafaï, 2003-12 -06. ### http :// www.lsp.ups -tlse.fr/chafai/agregation.html ### Licence GNU General Public License http :// www. gnu. org/ copyleft / gpl. html Ce bout de code permet de simuler une loi binomiale B(n,p) et de comparer graphiquement les moyennes empiriques avec la moyenne théorique. Tous les vecteurs sont des vecteurs ligne. Nota bene : la bibliothèque Stixbox fournit la fonction rbinom qui permet de s affranchir des calculs détaillés ici, cf. fin du présent fichier. clear r n p q P Q C B X c l f r = input ( Nombre maximal de r é a l i s a t i o n s? = ) ; n = input ( T a i l l e n de l a l o i binomiale B(n, p ), qui a n+1 atomes? = ) ; p = input ( Valeur du paramètre p de l a l o i binomiale B(n, p)? = ) ; p = proba de gagner à pile ou face = proba de 1 dans la Bernoulli sur {0,1} q = proba de perdre à pile ou face = proba de 0 dans la Bernoulli sur {0,1} B(n,p) est la loi de la somme de n v.a. i.i.d. de Bernoulli de ce type, i.e. la nième puissance de convolution de cette loi de Bernoulli. Elle représente la loi du nombre de succés à pile ou face en n lancés. disp ( sprintf ( Calcul de l a l o i binomiale B(d, f ),n, p ) ) 14 février 2004. Copyright c A. Grégatif agreg@labo.univ.fr. GNU FDL Copyleft. Page n 4.

Université de l Anonyme XXII Préparation à l épreuve de modélisation - Agrégation Externe de Mathématiques 2004. Page n 5. q = 1 p ; P = [ 1, cumprod( p ones ( 1, n ) ) ] ; puissances croissantes de p Q = [ f l i p l r (cumprod( q ones ( 1, n ) ) ), 1 ] ; puissances décroissantes de q C = [ 1, cumprod ( [ n : 1 : 1 ] ). / cumprod ( [ 1 : n ] ) ] ; coef. du bin^ome de i = 1 à n B = C. P. Q; vecteur des poids de B(n,p) disp ( sprintf ( Génération a l é a t o i r e de d r é a l i s a t i o n s de B(d, f ), r, n, p ) ) X = r d i s c r ( [ 1, r ], [ 0 : n ],B ) ; échantillonnage alternative : X=[] for i=1:r X = [X probadis ([0:n],B)]; disp ( sprintf ( Tracé des graphique. ) ) plot (cumsum(x ). / [ 1 : length (X) ], b ) tracé des moyennes empiriques t i t l e ( Loi des Grands Nombres ) xlabel ( Nombre de r e a l i s a t i o n s ) ylabel ( Moyennes empiriques ) hold on plot ( n p ones ( 1, r ), r ) tracé de la moyenne théorique leg ( Empirique, Theorique ) hold o f f Avec Stixbox, inutile de calculer B et d appeler rdiscr ([1, r],[0: n],b) puisque qu un simple rbinom ([1, r],n,p) suffit. M^eme si l on décide d utiliser quand m^eme prodadis, les coefficients binomiaux nécessaires au calcul de B peuvent se calculer beaucoup plus vite en utilisant la fonction Stixbox bincoef qui fait appel à la fonction gamma. Exercice 2.2. Soit (X n ) n N une suite de variables aléatoires i.i.d. de loi exponentielle E(λ) avec λ > 0. Si S n = n k=1 X k, N 0 = 0 et pour tout t > 0, N t = n=1 I {S n t}, (N t ) t 0 est un processus de Poisson d intensité λ. Montrer que, pour tout t > 0, N t suit la loi de Poisson P(λt). En déduire un code Matlab permettant de générer un vecteur aléatoire Y contenant N réalisations i.i.d. de loi P(λ) où les valeurs N 1 et λ > 0 sont affectées par l utilisateur. Pour N assez grand, vérifier la LGN sur les moyennes empiriques successives de Y. Exercice 2.3. Pour N, N 1 et n 1 avec N 1, n N, la loi hypergéométrique H(N, N 1, n) est donnée, pour tout k N avec 0 k n, par P(X = k) = CN k 1 C n k N N 1 /CN n. Créer un code Matlab permettant de générer un vecteur aléatoire Z contenant M réalisations i.i.d. de loi H(N, N 1, n) où les valeurs M, N 1 et N 1, n N sont affectées par l utilisateur. 1. Si N t vers l infini et le rapport N 1 /N t vers p avec 0 < p < 1, montrer que X converge en loi vers la loi Binomiale B(n, p). Pour M, N assez grand et N 1 = pn avec 0 < p < 1, tracer l histogramme de Z et comparer le à la loi B(n, p). 2. Si N, N 1 et n tent vers l infini et le produit nn 1 /N t vers λ > 0, montrer que X converge en loi vers la loi de Poisson P(λ). Pour M, N assez grand, N 1 = λ N et n = N, tracer l histogramme de Z et comparer le à la loi P(λ). 3 Représentations graphiques 14 février 2004. Copyright c A. Grégatif agreg@labo.univ.fr. GNU FDL Copyleft. Page n 5.

Université de l Anonyme XXII Préparation à l épreuve de modélisation - Agrégation Externe de Mathématiques 2004. Page n 6. { I l l u s t r a t i o n de l a LGN pour l a l o i e x p o n e n t i e l l e } clear ; n =1000; lambda = 0. 5 ; X= log ( rand (n, 1 ) ) / lambda ; figure ; Création d une nouvelle fen^etre graphique. plot (cumsum(x). / [ 1 : length (X) ], b ) Trace les moy. emp. successives de X. t i t l e ( Loi des Grands Nombres ) Titre de la figure. xlabel ( Nombre de r é a l i s a t i o n s ) Titre des abscisses. ylabel ( Moyennes empiriques ) Titre des ordonnées. hold on Garde la fen^etre graphique. plot (1/ lambda ones (n, 1 ), r ) ; Trace la limite théorique. leg ( Empirique, Theorique ) ; Lége. Exercice 3.1. Ajouter à vos codes Matlab les représentations graphiques rencontrées ci-dessus. Moyennes empiriques 2 1.8 1.6 1.4 1.2 1 0.8 Loi des Grands Nombres Empirique Theorique 0 100 200 300 400 500 600 700 800 900 1000 Nombre de realisations Fig. 1 Sortie graphique du programme 2 5. Voici une fonction Matlab qui permet de simuler la loi uniforme discrète finie de façon rapide et simple. function X = r i n t (num, k ) ; X = RINT(num,k) Input num positive integer or a vector [ lig, col ] of integers k positive integer Output X num - vector or a num - matrix of random numbers 14 février 2004. Copyright c A. Grégatif agreg@labo.univ.fr. GNU FDL Copyleft. Page n 6.

Université de l Anonyme XXII Préparation à l épreuve de modélisation - Agrégation Externe de Mathématiques 2004. Page n 7. chosen from uniform distribution on {1,..., k} Renvoie num réalisations ou une matrice [ lig, col ] de réalisations pseudo - indépantes de la loi uniforme discrète sur les k premiers entiers non nuls {1,...,k}. La méthode consiste à considérer la partie entière de 1+ ku où U suit une loi uniforme sur [0,1]. Cette dernière s obtient via la fonction rand, et les valeurs renvoyées par des appels successifs sont donc pseudo - indépantes. ### Copyright ( C) D. Chafaï, 2003-12 -06. ### http :// www.lsp.ups -tlse.fr/chafai/agregation.html ### Licence GNU General Public License http :// www. gnu. org/ copyleft / gpl. html i f length (num) == 1 num = [num 1 ] ; X = c e i l ( k rand (num ) ) ; return ; Références [BL98] Ph. Barbe and M. Ledoux, Probabilités, De la licence à l agrégation, Belin, 1998. [Bou86] N. Bouleau, Probabilités de l ingénieur, variables aléatoires et simulation, Hermann, 1986. [DCD82] D. Dacunha-Castelle and M. Duflo, Probabilités et statistiques. Tome 1, Masson, Paris, 1982, Problèmes à temps fixe. [Yca02] B. Ycart, Modèles et Algorithmes Markoviens, Mathématiques et Applications, vol. 39, Springer, 2002. 14 février 2004. Copyright c A. Grégatif agreg@labo.univ.fr. GNU FDL Copyleft. Page n 7.