La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Master 2 AMD - Méthodes numériques pour l'astrophysique

Présentations similaires


Présentation au sujet: "Master 2 AMD - Méthodes numériques pour l'astrophysique"— Transcription de la présentation:

1 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthodes numériques pour l’astrophysique M2 « Astrophysique et Milieux Dilués » Hervé Beust Laboratoire d’Astrophysique de Grenoble septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

2 Méthodes numériques pour l’astrophysique
Techniques de base Estimateurs et statistique Modélisation de données Résolution numérique d’équations différentielles Equations aux dérivées partielles septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

3 Méthodes numériques pour l’astrophysique
Techniques de base Résolution numérique d’équations Intégration numérique Minimisation de fonctions Estimateurs et statistique Modélisation de données Résolution numérique d’équations différentielles Equations aux dérivées partielles septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

4 Résolution numérique d’équations
Problème : résoudre numériquement une équation de type f(x) = 0, en général par une méthode itérative. Le problème est très différent suivant que f est une fonction scalaire ou vectorielle. En général, les méthodes classiques fonctionnent assez bien pourvu que On soit sûr qu’il y ait une racine; On parte du voisinage de la racine. Ca marche mieux si on encadre la racine entre deux réels a et b et si la fonction est monotone dans l’intervalle. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

5 Différents cas de figure...
Cas standard  Cas plus délicats  septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

6 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthode de dichotomie On prend c=(a+b)/2 et on calcule f(c). Si f(c) est du même signe que f(a), la racine est entre c et b; sinon entre a et c. On recommence avec le nouvel intervalle Do while (abs(a-b)>…) c = (a+b)/ if f(c)*f(a)>0 then a = c else b = c end if end do Cette méthode a l’avantage de marcher tout le temps pourvu qu’il y ait une racine. Elle ne nécessite pas le calcul de la dérivée. C’est une méthode d’ordre 1 a convergence moyennement rapide. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

7 Autres méthodes d’ordre 1
Méthodes de la sécante et de la fausse position Ces méthodes convergent en général plus vite que la dichotomie, mais pas toujours… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

8 Méthode de Newton-Raphson
On part d’un point, on approxime la fonction par sa tangente, on recommence avec la racine trouvée, etc… f(x+h) ≈ f(x)+h f ’(x)+(h2/2) f ’’(x)+.. A xn+1 = xn - f(xn)/f ’(xn) Cette méthode ne nécessite pas d’encadrer la racine au préalable, mais juste de partir d’un point. Elle fonctionne dans le complexe. C’est une méthode d’ordre 2 très efficace. MAIS, il faut être sûr d’être au voisinage de la racine. La méthode peut échouer sinon. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

9 Méthode de Newton-Raphson : Problèmes
Il faut être sûr d’être au voisinage d’une racine… Il faut aussi pouvoir calculer la dérivée. Sinon: f’(x) ≈ (f(x+h)-f(x-h)) / 2h septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

10 Amélioration : Newton-Raphson quartique
On peut améliorer la convergence si on sait calculer des dérivées d’ordre supérieur Exemple : équation de Képler M = u - e sin u SUBROUTINE KEPLER0(M,E,U) IMPLICIT NONE REAL* M, ! Mean anomaly & E, ! Eccentricity & U, ! Eccentric anomaly & F,F1,F2,F3, ! Intermediaires & DELA ! Correction REAL*8, PARAMETER :: EPSI=1d LOGICAL OK INTEGER I U = M OK = .FALSE I= DO WHILE (.NOT.OK) F = U-E*SIN(U)-M F1 = 1.d0-E*COS(U) F2 = U-M-F F3 = 1.d0-F DELA = -F/F DELA = -F/(F1+0.5d0*DELA*F2) DELA = -F/(F1+0.5d0*DELA*F2+DELA*DELA*F3/6.d0) U = U+DELA I = I OK = ((ABS(DELA).LT.EPSI).OR.(I.GE.500)) END DO END septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

11 Master 2 AMD - Méthodes numériques pour l'astrophysique
En multidimensions … En dimensions plus que 1, c’est beaucoup plus difficile. La seule méthode générale, c’est Newton-Raphson, sans garantie de succès… Jxn = Matrice jacobienne en x A chaque étape il faut résoudre un système linéaire La convergence est quadratique pouvu qu’on soit au voisinage de la racine… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

12 Intégration numérique
Problème : calculer numériquement une intégrale de la forme w(x) est une fonction de poids La technique consiste toujours à faire une combinaison linéaire d’évaluations de la fonction f en un certain nombre de points xi , i=1..n Tout repose dans le choix des coefficients ai et des points xi. Les formules convergent vers l’intégrale lorsque n ∞ septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

13 Formules à points régulièrement espacés
Formule des trapèzes : Formule de Simpson : septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

14 Quadratures de Gauss – polynômes orthogonaux
Idée : ne plus imposer que les xi soient régulièrement espacés. Choisir les xi et les ai de manière à ce que la formule d’approximation soit exacte pour des polynômes de degré le plus élevé possible. C’est possible jusqu’à des polynômes de degré 2n-1 : Pour un choix donné de a, b, w(x), et n il existe une unique jeu de xi et les ai telle que l’approximation soit exacte pour toute fonction f polynôme de degré ≤ 2n-1. La théorie est liée à celle des polynômes orthogonaux. On définit La suite des polynômes Pn lorsque n varie est orthogonale au sens du produit scalaire suivant septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

15 Quadratures de Gauss – polynômes orthogonaux
Les Pn obéissent à la récurrence suivante : Les xi se calculent comme les racines de Pn et les ai vérifient : septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

16 Quadratures de Gauss – polynômes orthogonaux
Cas particuliers : Dans le cas de Gauss-Legendre, on a en outre Et pour tout intervalle (a,b) on a (a,b) w(x) Nom des polynômes Récurrence (-1, 1) 1 Polynômes de Legendre (n+1) Pn+1(x) = (2n+1) xPn(x) - nPn-1(x) (-1,1) (1-x²)-1/2 Polynômes de Tchébychev Pn+1(x) = 2xPn(x) - Pn-1(x) (0,+∞) xc e-x Polynômes de Laguerre (n+1) Pn+1(x) = (-x+2n+c+1) xPn(x) (n+c) Pn-1(x) (-∞,+∞) e-x² Polynômes de Hermite Pn+1(x) = 2xPn(x) - 2nPn-1(x) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

17 Exemple résolu : Gauss-Legendre
SUBROUTINE GAULEG(X1,X2,X,W,N) IMPLICIT NONE INTEGER* N,M, ! Ordres & I,J ! Indices REAL* X(N), ! Tableau de racines & W(N), ! Tableau de poids & Z, ! Racine & X1,X2,XM,XL, ! Bornes & Z1,P1,P2,P3, ! Intermediaires & PP ! Derivee LOGICAL OK ! Test d'arret REAL*8, PARAMETER :: EPS=3.d-14, & PI= d0 M = (N+1)/2 XM = 0.5d0*(X2+X1) XL = 0.5d0*(X2-X1) ! Conversion d’intervalle DO I = 1,M Z = COS(PI*(I-0.25d0)/(N+0.5d0)) ! Guess initial OK = .FALSE. DO WHILE(.NOT.OK) P1 = 1.0d0 P2 = 0.0d0 DO J = 1,N P3 = P2 P2 = P1 P1 = ((2.0d0*J-1.0d0)*Z*P2-(J-1.0d0)*P3)/J END DO ! Calcul de Pn(Z) par récurrence PP = N*(Z*P1-P2)/(Z*Z-1.0d0) Z1 = Z Z = Z1-P1/PP ! Newton-Raphson OK = (ABS(Z-Z1).LT.EPS) END DO X(I) = XM-XL*Z X(N+1-I) = XM+XL*Z W(I) = 2.d0*XL/((1.0d0-Z*Z)*PP*PP) W(N+1-I) = W(I) END septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

18 Intégration multidimensionnelle
C’est en général beaucoup plus difficile. Technique de base : intégrales emboîtées 2 difficultés : Nombre de points nd Ca ne marche que si le domaine à intégrer n’est pas trop compliqué Dans les autres cas : Intégration Monte-Carlo septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

19 Intégration Monte-Carlo
On veut intégrer une fonction f sur un domaine W. La moyenne de f sur W vaut par définition On tire au hasard un nombre n de points dans l’ensemble et on approxime la moyenne par L’erreur moyenne sur l’intégrale est a convergence en n-1/2, lente Si W n’est pas calculable directement, on inclut le volume W dans un volume V plus grand, facilement calculable, et on prolonge f par 0 en dehors de W. On intègre ensuite sur V. Mais il faut choisir un volume V proche de W sinon, la convergence est encore plus lente. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

20 Minimisation de fonctions
Problème : Trouver numériquement un point minimum (ou maximum) d’une fonction f donnée Un minimum peut être local ou global : les méthodes itératives garantissent en général la convergence vers un minimum local. Le problème est très différent suivant que la fonction est mono- ou multidimensionnelle Il y a deux familles de méthodes : les méthodes avec gradient et celles sans gradient. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

21 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthodes en dimension 1 On veut minimiser une fonction f d’une variable réelle. Avant de converger, il faut encadrer un minimum : trouver 3 points a<b<c, tels que f(b)<f(a) et f(b)<f(c). Pour encadrer, on déplace le triplet dans le sens de la descente jusqu’à trouver un encadrement. Première méthode simple une fois qu’on a un encadrement: On tire un réel d entre a et c, on évalue f(d), et on cherche un nouvel intervalle d’encadrement… puis on recommence… Ca marche toujours, mais ce n’est pas très rapide. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

22 Méthode : interpolation par paraboles inverses
Idée : près d’un minimum, la fonction s’approxime bien par une parabole. Quand on a un encadrement (a,b,c), on calcule la fonction de degré 2 (parabole) qui passe par ces trois points et on en cherche le minimum d. On a Le nouvel encadrement est (a,d,b) ou (b,d,c). La méthode de Brent combine les deux méthodes précédentes. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

23 Méthodes multidimensionnelles
On cherche à minimiser une fonction f(x1,…,xn) = f(x) La plupart des méthodes procèdent à des minimisations successives le long de plusieurs directions. Minimisation le long d’une direction: étant donné deux vecteurs x et n, trouver le réel l qui minimise f(x+ln). a On utilise une méthode de dimension 1 A partir de x+ln, on recommence à minimiser dans une autre direction n’. Problème : En minimisant le long de n’, il ne faut pas détruire la minimisation le long de n. a Les directions n et n’ doivent être conjuguées. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

24 Directions conguguées
On se place en un point P Le changement de gradient dans un déplacement infinitésimal vaut Une fois qu’on a minimisé le long de u, si on recommence le long de v, il faut que le gradient reste perpendiculaire à u. Les directions u et v sont alors dites conjuguées. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

25 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthode de Powell Idée : faire des minimisations successives le long de directions conjuguées. Problème : Comment trouver des directions conjuguées en chaque point ? La méthode de Powell minimise le long de directions qui tendent à être conjuguées au fil des itérations : On a à chaque instant n directions ui, i=1..n. Au départ, on prend ui=ei (vecteurs de base). On répète ensuite la séquence suivante: On part d’une position de départ x0. On fait n minimisation successives le long des n directions. On appelle x1,… xn les points trouvés. On remplace u0 par u1, puis u1 par u2, …, un-1 par un. On remplace un par xn-x0 On minimise dans la direction de un à partir de xn et on remplace x0 par le point trouvé. La méthode a un défaut : elle tend à produire des directions ui linéairement dépendantes Solution : Réinitialiser les directions (ui=ei) toutes les n itérations. Remarque : Cette méthode est une méthode sans gradient. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

26 Méthodes avec gradient
Quand on sait calculer le gradient f en tout point… Méthode de descente maximale : On part de x, on minimise dans la direction de -f , et on recommence. Cette méthode ne donne pas de bons résultats car les directions successives ne sont pas conjuguées. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

27 Méthode de Fletcher-Reeves-Polak-Ribiere
On part d’un point x0, on fixe une direction u0, et on calcule A chaque étape on dispose de On minimise le long de ui. On appelle xi+1 le nouveau point trouvé. On calcule On calcule ui+1 comme On recommence. Cette méthode garantit que les directions ui sont conjuguées. Elle est recommandée quand on n’a aucune idée de la matrice Hessienne. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

28 Méthodes numériques pour l’astrophysique
Techniques de base Estimateurs et statistique Propriétés et exemples Convergence Recherche d’estimateurs Estimation par ajustement Modélisation de données Résolution numérique d’équations différentielles Equations aux dérivées partielles septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

29 Estimateurs et statistiques
Une série de mesures doit être considérée comme une séries de réalisations d’une ou plusieurs variables aléatoires Le phénomène aléatoire dépend d’un paramètre physique θ que l’on cherche à estimer. Un estimateur est une fonction T arbitraire d’un échantillon de données (X1,…,Xn) censée représenter (estimer) le paramètre inconnu θ En général, on a plutôt une suite d’estimateurs (Tn) de θ en fonction de la taille n de l’échantillon Exemple : On cherche à estimer la moyenne (espérance) d’une variable aléatoire. Si on fait n tirages successifs, un estimateur de la moyenne est On dit que l’estimateur est convergent si pour tout ε>0, on a La loi faible des grands nombre montre que Xn est un estimateur convergent de l’espérance. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

30 Propriétés des estimateurs
Si (Tn) est un estimateur convergent du paramètre θ, si φ est une fonction de IR dans IR, continue en θ, alors φ(Tn) est un estimateur convergent de φ(θ). Exemple : X suit la loi uniforme sur [0,θ]. Xn est un estimateur convergent de la moyenne = θ/2  Tn=2Xn est un estimateur convergent de θ. On pose Y=ln X. On a alors E(Y)=ln θ – 1 (calcul). Donc est un estimateur convergent de ln θ – 1 . Et ensuite est un autre estimateur convergent de θ On peut en créer beaucoup d’autres. Comment sélectionner le meilleur ? septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

31 Propriétés des estimateurs
Variance de Tn : V[Tn] = E[(Tn-E(Tn))2] Erreur quadratique de Tn par rapport à θ: EQ(Tn,θ) = E[(Tn-θ)2] Biais de Tn par rapport à θ : B(Tn,θ) = E[Tn-θ]. Propriété 1 : si EQ(Tn,θ))0 quand n∞, alors l’estimateur Tn est convergent. Un estimateur est meilleur qu’un autre si son erreur quadratique est inférieure. Avec un estimateur biaisé, E[Tn] ≠ θ (décalage). On préfère en général des estimateurs sans biais (B(Tn,θ) = 0). Un estimateur est asymptotiquement sans biais si B(Tn,θ)0 quand n∞. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

32 Master 2 AMD - Méthodes numériques pour l'astrophysique
Exemples On reprend X, loi uniforme entre 0 et θ. On a Tn et Tn’, estimateurs de θ. E(Tn) = θ  B(Tn,θ) = 0; EQ(Tn,θ) = θ2/(3n). B(Tn’) ~ θ/(2n) ; EQ(Tn’,θ) ~ θ2/n a Tn est meilleur que Tn’ (non biaisé et plus petite erreur quadratique). Autre estimateur de θ : Tn″ = max {X1,…,Xn}, convergent et biaisé. E(Tn″) = nθ/(n+1)  B(Tn″,θ) = -θ/(n+1); EQ(Tn,θ) = 2θ2/(n+1)(n+2) ~ 2θ2/n2. On construit alors Tn″′=(n+1)Tn″ /n, non biaisé… EQ(Tn,θ) = θ2/n(n+2) ~ θ2/n2. C’est le meilleur des 4 (non biaisé et convergence en n2) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

33 Convergence des estimateurs
EQ(T,θ) = E[(T-θ)2]= E[(T-E(T)+E(T)-θ)2] = E[(T-E(T))2] + (E(T)-θ)2 + 2(E(T)-θ)×E[T-E(T)] = Var(T) + B(T,θ)2 Conséquence : Si un estimateur est sans biais (même asymptotiquement), et si sa variance tend vers 0, il est convergent. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

34 Estimateurs standards
On a (X1,...,Xn), un échantillon de loi inconnue. Estimateur de l’espérance convergent et non biaisé Var(Xn)=Var(X)/n Estimateur de la variance Convergent, mais biaisé (variance empirique) E[Sn2]=(n-1)/n×Var(X) Estimateur non biaisé (variance empirique non biaisée) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

35 Recherche d’estimateurs
Je cherche à estimer un paramètre physique à partir de statistiques : Comment trouver un bon estimateur ? Ceci nécessite de faire une hypothèse sur le processus physique, par exemple une loi de probabilité (modélisation de données) Exemple : méthode des moments. Pour k>0 E[Xk] et E[(X-E(X))k] sont les moments de la variable aléatoire X. Je suppose une loi de probabilité d’une forme particulière, dépendant de k paramètres a1,...,ak que je cherche à estimer. Les k premiers moments peuvent s’exprimer en fonction des a1,...,ak  Les paramètres s’expriment en fonction des moments. Il suffit d’avoir des estimateurs des moments (p.ex la moyenne et la variance) pour en déduire des estimateurs des paramètres. Inconvénient de la méthode : les estimateurs qu’on tire sont souvent peu précis. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

36 Estimation par ajustement
Idée : définir une métrique sur les lois de probabilités, et trouver la loi de probabilité P qui minimise une « distance » par rapport à la loi empirique Pe. Si (x1,…,xn) est un échantillon observé, (c1,…,ck) l’ensemble des valeurs prises par les xi’s, on définit Pe(ci)=n(ci)/n, où n(ci) est le nombre de fois où ci est réalisé (fréquence empirique). Distance du χ2 : Distance de Kolmogorov-Smirnov = comparaison entre les fonctions de répartition théoriques (F) et empiriques (Fe) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

37 Méthodes numériques pour l’astrophysique
Techniques de base Estimateurs et statistique Modélisation de données Régression linéaire Modèles linéaires de moindres carrés Modèles non-linéaires : méthode de Levenberg-Marquardt Recuit simulé et algorithmes génétiques Résolution numérique d’équations différentielles Equations aux dérivées partielles septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

38 Modélisation de données par régression
On mesure une série de données (x1,y1)… (xn,yn). On cherche à trouver une relation physique y=F(x). Dans la pratique on se donne un modèle dépendant d’un nombre k de paramètres α1,…,αk: y=f(α1,…,αk; x). On va chercher les paramètres α1,…,αk qui collent au mieux avec les observations (xi,yi) . Chaque mesure yi vient avec son erreur standard σi2. Yi=f(α1,…,αk; xi)+Ei , où Ei est une variable aléatoire de variance σi2. On va chercher les paramètres qui minimisent Toute la difficulté consiste à Trouver les paramètres réalisant le minimum Estimer l’incertitude sur les paramètres. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

39 Master 2 AMD - Méthodes numériques pour l'astrophysique
Régression linéaire But : modéliser des données par une relation linéaire y = ax+b Méthode : Minimiser le χ2 pour trouver a et b septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

40 Régression linéaire (2)
Erreur sur a et b : Var(yi)=σi2  Var(aiyi)=ai2 σi2 (Somme de variables aléatoires indépendantes) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

41 Modèles linéaires de moindres carrées
On cherche un modèle qui dépend linéairement des paramètres y = f(α1,…,αk; x) = α1X1(x)+∙∙∙+αkXk(x) où les X1,…,Xk sont des fonctions données à l’avance On va chercher à minimiser en disant ∂χ2/∂αi=0 pour i=1…k On introduit la matrice A, n×k, et le vecteur b de longueur n tels que septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

42 Modèles linéaires de moindres carrés
∂χ2/∂αj=0 pour j=1…k revient à …autrement dit résoudre un système linéaire ! (équations normales) On appelle fij = [c]-1ij . On a septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

43 Master 2 AMD - Méthodes numériques pour l'astrophysique
Modèles non linéaires y = f(α1,…,αk; x) où la dépendance est quelconque. Le jeu de paramètres (α1,…,αk) minimisant le χ2 doit être trouvé de manière itérative. C’est conceptuellement identique à un problème de minimisation dans un espace de dimension k. La non-linéarité ne garantit pas l’existence d’un minimum unique  problèmes de minima locaux  nécessité de faire de nombreux essais ! Quand on peut calculer le gradient de la fonction f par rapport aux paramètres, la méthode recommandée est celle de Levenberg-Marquardt. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

44 Méthode de Levenberg-Marquardt
On appelle α le vecteur (α1,…,αk) courant. Si le modèle est linéaire, la fonction χ2(α) est une forme quadratique v est un vecteur et H une matrice k×k Dans ce cas on sait où est le minimum : αm = H-1∙v. De manière équivalente, si on part d’un vecteur α0 , on a Si la fonction n’est pas trop éloignée d’une forme quadratique, cette formule peut-être une bonne formule d’itération. Si la fonction est plus compliquée, on se contentera d’une simple descente de gradient Idée de la méthode : Alterner entre les deux formules Problème : Il faut la matrice H = matrice Hessienne septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

45 Méthode de Levenberg-Marquardt (2)
Problème : Les termes cjl dépendent des dérivées secondes de f qui ne sont pas forcément accessibles Souvent on laisse tomber les termes en question… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

46 Méthode de Levenberg-Marquardt (3)
Deux questions : Comment décider de l’alternance entre les deux formules (1) et (2) ? Comment fixer la constante dans la formule (2) ? Levenberg-Marquardt : cte ~ 1/cjj . En fait cte = 1/(λcjj)  (2) devient λcjjδαj = dj (1) et (2) peuvent se combiner en une seule équation. On définit C’= C + λ×diag(c11,…,ckk) et on remplace (1) et (2) par Quand λ>>1, (3) revient à (2); quand λ<<1, (3) équivaut à (1) Recette : On part d’un choix initial α, et on calcule χ2(α). On prend un petit λ =0.001 On résout (3) et on calcule l’incrément da. On calcule χ2(α+da). Si χ2(α+da) > χ2(α), on est loin du minimum  on multiplie λ par 10 et on revient à 2. Si χ2(α+da) < χ2(α), on approche  On divise λ par 10, on remplace α par α+da, et on revient à 2. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

47 Intervalles de confiance des paramètres
Une fois qu’on a obtenu les paramètres (α1,…,αk) qui minimisent, on souhaite obtenir des intervalles de dispersion (δα1,…,δαk) des paramètres à un niveau de confiance donné. La méthode de Levenberg-Marquardt fournit la matrice des covariances F = C-1. Mais celle-ci n’est utilisable que si les erreurs de mesure sont distribuées de manière gaussienne ! Si ce n’est pas le cas, on peut en déduire n’importe quoi !! Si les erreurs ne sont pas gaussiennes (ou si on ne sait pas), il faut avoir recours à d’autres méthodes statistiques beaucoup plus robustes… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

48 Avec la matrice des covariances…
Si les erreurs sont gaussiennes, alors on a avec un degré de confiance de 68% (1σ dans la loi normale). Attention : le jeu d’intervalles de confiances δαj, j=1..n ne constitue pas une région de confiance pour les k paramètres conjointement… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

49 Méthodes statistiques ou quand les erreurs ne sont pas gaussiennes…
Simulation de jeu de données Monte-Carlo Idée : tirer plusieurs (N) jeux de données fictives dans les intervalles de confiance ±σi (de manière gaussienne…), et effectuer N minimisations. On observe la distribution des jeux de paramètres α obtenus, on en déduit des intervalles de confiance. Méthode Bootstrap Au lieu de tirer des jeux de données fictives, on tire au hasard n données (avec éventuelle répétition) parmi les n de base, et on refait une minimisation. On répète l’opération N fois, on obtient la distribution des α . Avantage de ces méthodes : Elles sont simples, robustes et ne présupposent rien sur la distribution des erreurs de mesure. Désavantage : Elles sont coûteuses en temps de calcul (il faut refaire N minimisations). septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

50 Méthode MCMC (Monte-Carlo + Chaînes de Markov)
Idée : ne plus chercher d’intervalle de confiance pour les paramètres, mais échantillonner leur distribution statistique. C’est une amélioration de la méthode de simulation de jeu de données. On a un vecteur de données y. Pour un jeu de paramètres , on connaît , probabilité d’observer y sachant . On cherche Par le théorème de Bayes On suppose connaître (prior). Une chaîne de Markov = une suite de modèles i, où chaque i+1 se déduit de i via une probabilité de transition A la fin, la distribution des i échantillonne septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

51 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthode MCMC (2) Définition : La chaîne de Markov est réversible si Théorème : Si la chaîne est réversible, apériodique et irréductible, ell converge vers Problème : Il n’est pas facile de trouver une probabilité de transition réversible. On peut en construire une à partir d’une autre qui ne l’est pas, par l’algorithme de Metropolis-Hastings septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

52 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthode MCMC (3) Méthode à chaque pas : Connaissant i, on tire au hasard un i+1 en suivant On calcule 2(i+1) et 2(i). On détermine le rapport On tire un nombre u au hasard entre 0 et 1. On calcule Si u<, on accepte le pas, sinon on revient à i. Souvent, on prend qtr symétrique dans une direction v. On fait tourner les directions. On peut prendre qtr non symétrique quand on considère le modèle uniforme dans des combinaisons de paramètres. Dans ce cas, on multiplie par le rapport des jacobiens. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

53 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthode MCMC (4) Test d’arrêt : Statistique de Gelman-Rubin. On fait tourner 10—20 chaînes en parallèle. On teste la convergence des variances des différentes chaînes. Quand la convergence est acquise (ça peut être long !), on laisse tourner les chaînes plus longtemps en retenant tous les modèles calculés. Ceux-ci échantillonnent la distribution des paramètres. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

54 Problèmes de minima locaux…
La méthode de Levenberg-Marquardt permet de converger vers jeu de paramètres α qui minimise localement le χ2. Si le modèle est non-linéaire, il peut y avoir d’autres minima  Comment savoir si on est dans le bon ? Technique 1 : Je recommence N fois la minimisation en partant de points de départ différents Efficace s’il n’y a pas trop de minima locaux et si la dimension de l’espace n’est pas trop élevée ( ≤ 5-6) Technique 1 bis : Technique 1 + Recuit simulé Permet de relier des minima locaux voisins Technique 2 : Algorithmes génétiques La seule technique permettant d’explorer correctement un espace des paramètres de dimension élevée. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

55 Master 2 AMD - Méthodes numériques pour l'astrophysique
Recuit simulé A employer comme tel ou (mieux) à combiner avec Levenberg-Marquardt; On introduit une fonction « température » T(n) décroissante (souvent linéairement) en fonction du nombre d’itération. La température initiale T0 est élevée. A chaque itération, on teste un saut aléatoire de la solution, qui induit une variation de χ2 : Δχ2. Si Δχ2<0, on applique le saut; Si Δχ2>0, on l’applique avec la probabilité e-Δχ2/T(n) Cette technique peut permettre de sortir d’un minimum local. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

56 Algorithmes génétiques
Au lieu de partir d’un seul point dans l’espace des paramètres et de minimiser, je prends N points de départ (~100) différents (Génération 0 d’individus). Je classe les individus par χ2, et je construis ma génération suivante comme suit : Je garde ceux qui ont les meilleurs χ2 ; J’en construis d’autres en « croisant les caractères » d’individus « parents » pris dans la génération précédente, en choisissant de préférence des parents ayant de bons χ2 J’en construis quelques autres en introduisant des « mutations » sur des individus de la génération précédente. Eventuellement, j’applique quelques pas de minimisation (Levenberg-Marquardt…) sur ma population et j’obtiens ma génération suivante. Puis retour en 1… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

57 Méthodes numériques pour l’astrophysique
Techniques de base Estimateurs et statistique Modélisation de données Résolution numérique d’équations différentielles Méthodes de type Runge-Kutta Contrôle du pas Méthode de Bulirsch et Stoer Equations mal conditionnées (Stiff) Codes N corps Conditions au limites en plusieurs points : relaxation Equations aux dérivées partielles septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

58 Résolution numérique d’équations différentielles
Un type de problème qui se pose couramment en astrophysique (intégration de systèmes dynamiques, calculs MHD, etc…) Deux grands types de problèmes … avec des méthodes d’approche très différentes Les équations différentielles ordinaires (ODEs) Les équations aux dérivées partielles (PDEs) Dans tous les cas, la nature des conditions aux limites conditionne la résolution. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

59 Equations différentielles ordinaires
C’est résoudre le problème Remarques : y n’est pas nécessairement scalaire. Ce peut être un vecteur  système différentiel Les équations d’ordre supérieur se ramènent à ce schéma : avec une condition aux limites de la forme y(x0)=y0, dy/dx(x0)=y′0 (problème de type conditions initiales) Si les conditions aux limites sont de la forme y(xa)=ya et y(xb)=yb, le problème est de nature différente (et la méthode d’approche aussi…) (problème de conditions aux limites en deux points distincts) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

60 Méthodes de type Runge-Kutta
Pour un problème de type « conditions initiales ».On part de y(x0), on en tire y(x0+h≡x1), puis y(x0+2h≡x2), etc… h est le pas (de temps), supposé petit. Les diverses méthodes sont d’autant plus précises que h est petit. La méthode la plus simple : Euler (explicite) Méthode d’ordre 1 : yn+1=y(xn+1)+O(h2) peu précise (+asymétrique, peu stable) Variante : Euler implicite, plus stable, mais non linéaire septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

61 Méthodes de type Runge-Kutta (2)
Runge-Kutta d’ordre 2 (ou méthode du point médian) yn+1=y(xn+1)+O(h3) Runge-Kutta d’ordre 4: yn+1=y(xn+1)+O(h5) Remarque : Si le système est vectoriel les ki’s sont des vecteurs… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

62 Master 2 AMD - Méthodes numériques pour l'astrophysique
Contrôle du pas Comment s’assurer de la qualité de l’intégration ? Comment doit-on adapter le pas d’intégration au fil du calcul ? Première méthode : doublement de pas. On calcule y(x+h) de deux façons. En prenant un pas h → y1 En prenant deux pas h/2 → y2 En comparant y1 et y2, on teste si l’intégration est bonne. On pose Δ=y2-y1  h5. Si l’erreur qu’on souhaiterait avoir est Δ0, alors il faudrait choisir Stratégie : Si Δ>Δ0, on recommence en diminuant le pas. On prend Si Δ<Δ0, on peut augmenter le pas en posant septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

63 Master 2 AMD - Méthodes numériques pour l'astrophysique
Contrôle du pas (2) Que doit valoir Δ0 ? On doit avoir au moins Δ0  |y|, mais il faut se méfier des situations où y passe par 0. Dans la pratique, on utilise Si un pas est bon, quel valeur choisir ? y1 ou y2 ? Une combinaison… Deuxième méthode : Fehlberg-Cash-Karp. Au lieu d’utiliser une seule formule de Runge-Kutta et de doubler le pas, on utilise deux formules différentes et on compare les résultats. Dans la pratique, on utilise une formule d’ordre 5 et une d’ordre 4. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

64 Contrôle du pas (3) : Felhberg-Cash-carp
La formule d’ordre 5 est de la forme La formule d’ordre 4 utilise les mêmes coefficients ai et bij, mais des coefficients c′i différents j 1 2 3 4 5 i ai bij ci c′i 37/378 2825/27648 1/5 3/10 3/40 9/40 250/621 18575/48384 3/5 -9/10 6/5 125/594 13525/55296 -11/54 5/2 -70/27 35/27 277/14336 6 7/8 1631/55296 175/512 575/13824 44275/110592 253/4096 512/1771 1/4 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

65 Contrôle du pas (4) : Felhberg-Cash-carp
L’estimation de l’erreur se fait au moyen de Δh5, donc la correction du pas en fonction de l’erreur se fait de la même façon que pour la méthode de doublement de pas. Si le pas est accepté, on prend yn+1 comme valeur (erreur O(h6)). Les méthodes de ce type donnent en général de meilleurs résultats que les méthodes de doublement de pas. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

66 Méthode de Bulirsch et Stoer
Une méthode en général plus puissante que Runge-Kutta, mais si la solution est bien régulière… Partant de x0 , on va calculer y(x0+H) (H grand). On prend une méthode de Runge-Kutta Si on prend n1 pas (h1=H/n1), on obtient une estimation yest(x0+H,H/n1); Si on prend maintenant n2 pas (n2>n1), on obtient une nouvelle (meilleure) estimation yest(x0+H,H/n2) Idée de Bulirsh-Stoer : Considérer yest(x0+H,h) comme une fonction de h (ou n=H/h) et extrapoler cette fonction à h→0 (ou n→∞). septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

67 Méthode du point médian modifiée (ou différences centrées)
C’est la méthode de Runge-Kutta qu’on utilise pour Bulirsh-Stoer. On veut aller de x0 à x0+H en n pas de h=H/n. C’est une méthode d’ordre 2 (moins précise que RK4). Mais avantage pour Bulirsch-Stoer : L’erreur ne contient que des puissances paires de h : septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

68 Master 2 AMD - Méthodes numériques pour l'astrophysique
Extrapoler ? On a des valeurs yest(x0+H,h)≡g(h) pour différentes valeurs de h : h1,…,hk Comment extrapoler à h=0 ? Extrapolation polynômiale : Je calcule l’unique polynôme de degré k-1 (interpolation de Lagrange) qui passe par les k points de mesure que l’on calcule de la manière suivante, et on évalue en X=0. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

69 Master 2 AMD - Méthodes numériques pour l'astrophysique
Extrapoler (2) ? Extrapolation rationnelle : On utilise des fractions rationnelles au lieu de polynômes. Les résultats sont en général meilleurs On utilise en général la séquence n=2,4,6,8,…,16 (h=H/n) et on s’arrête lorsque la correction est suffisamment petite. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

70 Equations mal conditionnées (stiff)
Des situations où les méthodes traditionnelles fonctionnent mal… Exemple 1 : équation (y′=-cy, y(0)=1) avec c>0 (solution y(x)=e-cx), que je choisis de résoudre par la méthode d’Euler qui diverge clairement pour h>2/c (|1-hc|>1)  il faut choisir h<2/c sinon on s’éloigne de la solution. Exemple 2 : Système différentiel (Y′=-C.Y, Y(0)=Y0), où C est une matrice symétrique définie positive (solution Y(x) = exp(-Cx).Y0) qui diverge dès qu’une des valeurs propres de (I-hC) sort de [-1..1] , c’est-à-dire qu’on doit avoir h<2/λmax (valeurs propres de C) Exemple 3 : (u’=998u+1998v, v’=-999u-1999v, u(0)=1, v(0)=0) Solution (u(x)=2e-x-e-1000x, v(x)=-e-x+e-1000x)  il faut h<1/1000 , même si dans la solution, le terme en exp(-1000x) est très vite négligeable septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

71 Equations mal conditionnées (stiff)
Exemple 4 : équation (y″=y,y(0)=1,y′(0)=-1). Solution y(x)=e-x. Les méthodes numériques finissent toutes par diverger, car on introduit des éléments de la solution parasite y(x)=ex… Que faire ? Eviter d’avoir des valeurs propres très différentes  dédimensionnement Faire très attention à l’adaptation du pas Employer des méthodes implicites septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

72 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthodes implicites Exemple 1 toujours stable ! Exemple 2 toujours stable aussi ! De manière générale, les méthodes implicites sont plus stables. Mais Les équations à résoudre à chaque pas sont souvent non-linéaires Il est difficile de définir des schémas implicites d’ordre supérieur  Méthodes semi-implicites de Rosenbrock septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

73 Méthodes semi-implicites
On approxime… J = matrice jacobienne. On doit résoudre un système linéaire à chaque pas… Méthodes de Rosenbrock : généralisation à des schémas d’ordre supérieur Les γ, γij, αij, ci et l’entier s (ordre de la méthode) sont des caractéristiques de la méthode A chaque pas, il faut inverser s matrices. On ajuste le pas en comparant avec une autre formule avec des c′i. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

74 Master 2 AMD - Méthodes numériques pour l'astrophysique
Codes N corps Le problème (gravitationnel) des N corps est un exemple de système différentiel d’ordre 6N qui peut s’intégrer par les méthodes classiques. Il y a deux types de difficultés spécifiques à ce problème Lorsque N est modéré (mécanique céleste) on a souvent besoin d’intégrer pendant longtemps avec une grande stabilité  méthodes symplectiques. Lorsque N est grand, la difficulté réside dans le calcul des N(N-1)/2 termes de forces  codes autogravitants septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

75 Intégration symplectique
La particularité des systèmes N corps est d’être des systèmes hamiltoniens. On considère un système dynamique régi par un Hamiltonien conservatif H(xi,pi) : Pour toute quantité q(xi,pi) La solution donnant q(t) à partir de q(t-t) est septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

76 Intégration symplectique (2)
Une intégration numérique, c’est trouver q(t) connaissant q(t-t) Les méthodes classiques ne garantissent pas H=cte (Runge-Kutta, Bulirsh & Stoer …) Une méthode symplectique conserve exactement H ou un autre Hamiltonien voisin de H. Du coup, l’erreur faite sur H est bornée septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

77 Intégration symplectique (3)
Hypothèses de base de l’intégration symplectique : H = HA+HB (F = A+B) où on sait intégrer HA et HB (on sait calculer exp(τA) et exp(τB)) Souvent, on suppose en plus HB<<HA (HB/HA ~ ε <<1) On a alors a En intégrant d’abord HA pendant t puis HB pendant t, on réalise un intégrateur symplectique d’ordre 1 : On résout exactement un Hamiltonien septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

78 Intégration symplectique (4)
On a aussi a On obtient un intégrateur symplectique d’ordre 2 en intégrant 1) HB pendant t/2, 2) HA pendant t, 3) HB pendant t/2. Dans ce cas, Il y a aussi des méthodes d’ordre 4, 6, 8… En fait, compte tenu de HB/HA~ε on a même a On peut intégrer avec un grand pas de temps septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

79 Intégrateurs symplectiques pour codes N corps
Exemple le plus simple : la méthode T+U H=Hamiltonien du problème à N corps = E. cinétique + E. potentielle = T+U Variable conjuguées cartésiennes : xi=x,y,z.. pi=mvx,mvy,mvz… T = T(pi) et U=U(xi)  On sait intégrer séparément T et U Méthode symplectique avec HA=T, HB=U. Mais on n’a pas HB<<HA Deuxième exemple: la méthode MVS (Mixed Variable Symplectic) Hypothèse : (mi<<m0 pour tout i = 1,…,n-1) (système planétaire) HA = Somme des Hamiltoniens Képlériens (on sait intégrer…) HB = Le reste = Les perturbations mutuelles  dépend que des xi’s) La condition HB<<HA reste vérifiée si ) L’objet 1 est beaucoup plus massif que les autres ) Les distances mutuelles ne sont pas trop petites (pas de rencontres proches) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

80 Les problèmes de rencontres proches
Lorsque deux corps passent proches l’un de l’autre, on a des perturbations importantes et rapides. L’idéal est de diminuer le pas de temps dans ce type de situation. Mais une intégration symplectique demande que le pas de temps soit constant (Hinteg=f(τ))  difficulté ! Deux variantes : On laisse tomber la symplecticité le temps de la rencontre proche (code RMVS Levison & Duncan) On modifie le découpage HA+HB le temps de la rencontre proche. On est toujours symplectique mais le temps de calcul est plus long (code MERCURY Chambers) On découpe les potentiels en cercles concentriques avec un pas de temps adapté à chaque tranche (Code SyMBA Duncan, Lee & Levison). septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

81 Master 2 AMD - Méthodes numériques pour l'astrophysique
Codes autogravitants On veut calculer un système N corps avec N grand La difficulté réside surtout dans le calcul des forces. Les différents types de codes se différencient par la méthode choisie. Codes directs (PP): On calcule directement les N(N-1)/2~N2/2 termes de forces. C’est lent et le temps de calcul est N2. On arrive à simuler quelques 104 particules. Codes en arbre : tempe de calcul  N×ln N ~108 particules Les forces proches sont calculées directement Pour les termes lointains, les objets sont regroupés en groupes cubiques appelée nœuds. La contribution des nœuds lointains est développée en harmoniques sphériques et tronquée. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

82 Codes autogravitants (2)
Codes particul le (PM): On découpe l’espace en J3 cellules cubiques de côté a, et on suppose que la masse dans chaque cellule est concentrée en son centre. Le potentiel dans la cellule (i,j,k) se calcule comme C’est une convolution discrète. En passant par l’espace de Fourier, il n’y a qu’à multiplier les transformées de Fourier  temps de calcul en J×ln J (~109 cellules) Codes particule-particule/particule-malle (P3M) : Les codes PM manquent de résolution pour traiter les forces proches. On divise alors le calcul en deux : Les forces lointaines sont calculées par la méthode PM Les termes proches sont calculées individuellement (PP) On atteint ~107 particules Variante : TMP (Tree/Particle Mesh), où la partie PP est calculée avec un code en arbre. On atteint ~1010 particules ! Codes à grille adaptatives (AP3M) : On crée des sous-grilles plus fines dans la partie P3M là où la densité de particules est plus grande (Codes MLAPM, ART, RAMSES…) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

83 Conditions aux limites en plusieurs points
Cas général : on a un système différentiel de la forme dY/dx = f(x,Y), où Y=(y1,…yn) est un vecteur de dimension n, avec n1 conditions de la forme gi(x1,Y)=0 (à satisfaire en x=x1) et n2 conditions hi(x2,Y)=0 (en x=x2≠x1) (n=n1+n2) Cas particulier classique : une équation scalaire du second ordre y″=f(x,y,y′) avec y(x1)=y1 et y(x2)=y2. Deux méthodes d’approche : méthodes de tir et méthodes de relaxation. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

84 Master 2 AMD - Méthodes numériques pour l'astrophysique
Méthodes de tir Idée : On va intégrer en partant de x1 à partir d’un point initial qui vérifie les n1 premières conditions. On ajuste ensuite le point de départ de manière à ce que les n2 autres en x=x2 soient satisfaites. Le point de départ est Y(x1), en vecteur à n composantes. Les n1 conditions en x=x1 laissent un « espace » de dimension n2 pour choisir Y(x1). On dira Y(x1)=Y(x1,v1,…,vn2). On écrit V=(v1,…,vn2). Pour un choix de V, on intègre par une méthode classique jusqu’à x=x2. On obtient Y(x2,V). On regarde ensuite fk=hk(x2,Y(x2,V)) pour k=1,…,n2. (F=(f1,…,fn2)) On va chercher à fixer V de manière à obtenir F=0  Résoudre un système d’équations linéaires. Si on est capable de calculer les dérivées partielles (∂Fi/∂Vj) (même numériquement), on peut utiliser Newton-Raphson. Sinon, on peut faire de la dichotomie. Inconvénient : Chaque essai nécessite une intégration, et même plusieurs si on veut les dérivées partielles numériquement. Numériquement, ça peut être long ! septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

85 Méthodes de relaxation
On remplace l’équation différentielle par un schéma de différences finies : On divise l’intervalle en p segments de longueur h=(x2-x1)/p; on pose ti=x1+i×h, i=0,…,p (t0=x1, tp=x2); on pose Yi=Y(ti). On approxime Et on remplace l’équation par Et les conditions aux limites s’écrivent Ceci donne un système non linéaire d’équations (dimension p×n+n1+n2 = (p+1)×n) que l’on doit résoudre pour trouver Y0,…,Yp. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

86 Méthodes de relaxation (2)
Cas particulier : une équation scalaire du second ordre y″=f(x,y,y′), avec y(x1)=y0 et y(x2)=yp donnés. On ne transforme pas en système différentiel. On se place sur les points ti Et on remplace l’équation par Ca permet de diminuer la dimension du système d’équations. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

87 Méthodes de relaxation : résolution
On doit résoudre l’équation aux différences finies : On peut réécrire cela F(Y)=0 avec Y=(Y0,…,Yp) qui se résout par Newton-Raphson (dimension n(p+1)). A chaque pas, on cherche l’incrément ΔY à appliquer à Y :(JF = Jacobienne de F) Yn(i-1)+j =Yi,j . On a  La matrice JF est bloc-diagonale !  Il faut tenir compte de cette forme pour résoudre le système (élimination Gaussienne bloc par bloc) ! septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

88 Méthodes de relaxation : plus loin
Dans certains cas, il peut y avoir des conditions au limites au milieu de l’intervalle considéré  Ca rajoute un bloc spécial dans la milieu de la matrice. Dans d’autres situations, on cherche à ce que les p+1 points ti ne soient pas régulièrement répartis, mais puissent être alloués de manière dynamique au cours du processus de relaxation La solution = considérer le vecteur T=(t0,…,tp) comme un ensemble de variables supplémentaires et donner des équations à satisfaire. Les codes d’évolution stellaire fonctionnent de cette façon… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

89 Méthodes numériques pour l’astrophysique
Techniques de base Estimateurs et statistique Modélisation de données Résolution numérique d’équations différentielles Equations aux dérivées partielles Types d’équations Equations elliptiques : Méthodes de relaxation Equations elliptiques : Surrelaxation Equations hyperboliques : schémas de Lax, leapfrog… Equations paraboliques : schémas FTCS, de Crank-Nicholson… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

90 Equations aux dérivées partielles (PDEs)
Une gamme de problèmes très vastes en astrophysique : HD, MHD = codes eulériens. Méthode de base : différences finies, mais il y a d’autres approches. Trois familles d’équations : hyperboliques, paraboliques, elliptiques Deux types de problèmes : Hyperboliques, paraboliques = problèmes avec des conditions initiales  propagation, diffusion = évolution temporelle.  problème = stabilité du schéma de discrétisation Elliptiques = problèmes statiques avec des conditions aux limites complexes  problème = efficacité de la convergence vers la solution septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

91 Types d’équations aux dérivées partielles
Equation hyperbolique B2-4AC>0 . Exemple l’équation des ondes (c = vitesse de propagation) Equation parabolique B2-4AC=0 . Exemple l’équation de diffusion (D = coefficient de diffusion) Equation elliptique B2-4AC<0 . Exemple l’équation de Poisson (ρ = terme source) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

92 Equations elliptiques : problèmes de conditions aux limites
Dans ce type de problème, la forme des conditions aux limites compte au moins autant que l’équation elle-même… Discrétisation : On introduit un réseau de points (xj,yl), pour j=0...J, l=0…L, réalisant un maillage de l’espace considéré. On approxime L’équation de Poisson se réduit à plus des conditions aux limites pour j=0, j=L, l=0, l=L . Mis bout à bout, la résolution se ramène à un système linéaire septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

93 Equations elliptiques : Résolution du système
La résolution de l’équation aux différences finies se ramène donc à la résolution d’un système linéaire. Simple ? OUI MAIS : La taille du vecteur u est (J+1)(L+1)  La taille de la matrice A est (J+1)(L+1)×(J+1)(L+1) . Si J=L=100, u est de taille et la matrice A contient 108 éléments !! Impossible par des méthodes générales… En fait la matrice A est très creuse : tridiagonale avec bordures Toute méthode de résolution doit tenir compte explicitement de la forme de la matrice Les méthodes directes (pivot, LU, gradient conjugué…) ne sont efficaces que pour des tailles modérées (<300×300) de grilles, et si on a l’espace mémoire suffisant pour stocker la matrice… Autrement, les bonnes méthodes sont les méthodes de relaxation septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

94 Equations elliptiques : Méthodes de relaxation
En général, une équation elliptique du second ordre se réduit toujours à une équation de la forme équivalente au système A.u=b. Idée : On décompose A en E-F où E est facilement inversible (diagonale ou tridiagonale) On part d’un choix initial u(0) et itère l’équation par une procédure de point fixe: Dans la pratique on a A = L+D+U (L= diagonale inférieure, D = diagonale, U = diagonale supérieure) Méthode de Jacobi : E = D, F=-(L+U); Méthode de Gauss-Seidel : E = L+D, F=U septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

95 Equations elliptiques : Méthodes de relaxation
Les deux méthodes sont convergentes mais lentement. Gauss-Seidel est un peu plus efficace. L’erreur décroît comme ρs-k , où ρs = rayon spectral de la matrice E-1.F. Plus la grille est grande, plus ρs est proche de 1  convergence lente ! Typiquement, Solution : méthode de surrelaxation (SOR). On part de Gauss-Seidel avec w(k) = vecteur résidu, et on remplace par avec 1<ω<2 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

96 Equations elliptiques : Méthode de surrelaxation (SOR)
Avec un bon choix de ω, la méthode converge plus vite. On montre que le choix optimal est Dans ce cas le rayon spectral de la méthode SOR est La convergence est plus rapide ! Problème : le gain n’est réel que si ω ≈ ωop. Or il est très difficile de connaître ρJacobi (dépend du problème et de ses conditions aux limites) Quand on ne sait pas, on prend une valeur standard (Neumann-Dirichlet) septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

97 Master 2 AMD - Méthodes numériques pour l'astrophysique
Equations elliptiques : Méthode de surrelaxation (SOR) : Formules pratiques Le but est de dégager des formules pratiques pour la SOR. On reprend l’équation générale Le résidu wj,l s’écrit La formule d’itération à condition de prendre les variables dans la bon ordre pour faire l’inversion de L+D DO J = 2,… DO L = 2,… W = A(J,L)*U(J+1,L)+B(J,L)*U(J-1,L)+C(J,L)*U(J,L+1)+D(J,L)*U(J,L-1)+E(J,L)*U(J,L)-F(J,L) U(J,L) = U(J,L)-OMEGA*W/E(J,L) END DO END DO Amélioration : accélération de Tchébychev. On prend ω=1 au départ, et on le change à chaque itération pour le faire tendre vers ω=ωop septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

98 Equations de propagation (hyperboliques)
On cherche une fonction u(x,t) satisfaisant une équation hyperbolique; on connaît u(x,0) (condition initiale). On cherche à connaître l’évolution dans le temps. On va discrétiser spatialement et temporellement. Par exemple, si u(x,t), on écrit Un schéma de discrétisation est un formule permettant de calculer ujn+1 (j=1,…,J) en fonction des ujn (j=1,…,J) et éventuellement ujn-1 (j=1,…,J) Important : La stabilité d’un schéma (von Neumann). Un schéma doit être stable pour être praticable. Un mode propre du schéma c’est ujn+1/ujn=ξ . Stabilité  |ξ(k)| ≤ 1 pour tout k (sinon on pourrait trouver un mode croissant exponentiellement) On injecte la forme d’un mode propre dans l’équation du schéma pour trouver ξ(k)… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

99 Equations de conservation de flux
La plupart des équations de propagation peuvent se réécrire comme des équation de conservation de flux Exemple : l’équation des ondes On va considérer une équation conservative scalaire tout simple et la discrétisation septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

100 Master 2 AMD - Méthodes numériques pour l'astrophysique
Schéma explicite FTCS On injecte dans l’équation On obtient un schéma explicite dit FCTS (Forward Time Centered Space) Est-il stable ? On cherche les modes propres…. |ξ(k)| > 1 pour tout k  FCTS est toujours instable !!! Il faut trouver mieux… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

101 Master 2 AMD - Méthodes numériques pour l'astrophysique
Schéma de Lax On remplace ujn par (uj+1n+uj-1n)/2 dans la dérivée temporelle Stabilité ? On trouve On veut |ξ(k)| ≤ 1 pour tout k  On appelle cela la condition de Courant. Interprétation : On calcule ujn+1 (en x=xj) à l’aide de uj+1n et uj-1n (en x=xj-1 en x=xj+1 ). L’information se propage à la vitesse maximale ±c. Les points uj+1n et uj-1n doivent être en dehors de zone liée à ujn+1. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

102 Master 2 AMD - Méthodes numériques pour l'astrophysique
Schéma de Lax Dissipation Si |c|Δt < Δx, |ξ(k)| < 1  L’amplitude des modes décroît. Il y a de la viscosité numérique ! Interprétation : Tout se passe comme si on avait ajouté un terme de diffusion (parabolique) à l’équation initiale… Dans la pratique l’effet est faible car |kΔx|<<1 (longueur d’onde >> Δx). septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

103 Ordre 2 en temps : Staggered Leapfrog
On va centrer le calcul de ∂u/∂t. Le schéma est du second ordre spatialement et temporellement. Mais on a besoin de l’information à tn et tn-1 pour calculer à tn+1 Stabilité : On cherche les modes propres. On tombe sur Si |c|Δt/Δx ≤ 1 (Condition de Courant…) la racine est réelle on a |ξ| = 1 (stabilité); sinon ξ est imaginaire pur avec |ξ| > 1 |ξ| = 1  pas de viscosité numérique ! C’est ce qui fait l’intérêt de cette méthode. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

104 Staggered Leapfrog : Equations du second ordre
Dans le cas d’une équation de conservation de flux le leapfrog s’écrit On écrit ce schéma pour l’équation des ondes (r = c∂u/∂x, s = ∂u/∂x). On remplace. La deuxième équation donne ce qui est complètement équivalent à la discrétisation directe de l’équation des ondes avec 2Δt et 2Δx. On écrira donc le leapfrog pour ces équations sous la forme classique septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

105 Schéma en deux temps de Lax-Wendroff
Quand les équations sont plus complexes, le leapfrog peut être instable car il couple les points deux par deux. Dans ce cas on utilise le schéma de Lax-Wendroff : On introduit des points intermédiaires (xj+1/2, tn+1/2 ). On calcule la valeur correspondante de u par le schéma de Lax. On en tire le flux correspondant On en tire les flux correspondants et on utilise le leapfrog pour tirer ujn+1 Dans le cas de l’équation simple (F=cu), l’ensemble se réduit à septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

106 Schéma en deux temps de Lax-Wendroff
Stabilité ? On trouve |ξ| ≤ 1  |α| ≤ 1 (Condition de Courant !). En général quand α ≠ 1, |ξ| < 1. Il y a de la dissipation… L’effet est plus faible que dans le schéma de Lax. Quand |kΔx|<<1, on a alors que dans le schéma de Lax on a Quelle stratégie adopter ? Pour les problèmes qui se mettent sous la forme d’une conservation d’un flux (type ondes), adopter d’abord le leapfrog. S’il y a des problèmes d’instabilité, passer au schéma de Lax-Wendroff. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

107 Raffinement : dérivation « face au vent »
Certaines équations (advection…) sont sensibles aux problèmes de transport (passage de chocs, changement d’états…). Si c>0, l’information sur ujn+1 ne peut pas venir de unj+1 (et vice versa si c<0). Dans ce cas on préfère calculer ∂u/∂x comme ceci : On appelle cela dérivation « face au vent » (upwind) Du coup la discrétisation spatiale n’est plus que du premier ordre. Mais ça peut être plus stable dans certains cas… A utiliser quand c’est nécessaire ! septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

108 Equations de diffusion (paraboliques)
Equations du type D = coefficient de diffusion. C’est une équation de conservation de flux avec F = -D(∂u/∂x). Mais on préfère en général utiliser des méthodes spécifiques. Si D est constant, on a l’équation de la chaleur avec une discrétisation immédiate C’est un schéma explicite de type FTCS, mais plus stable… Interprétation : Le pas de temps doit être plus petit que le temps de diffusion à travers une (demi) cellule. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

109 Equations de diffusion : schémas implicites
La condition Δt ≤ (Δx)2/(2D) est très contraignante  temps de calcul prohibitif Il faut chercher des schémas plus stables. Solution : schémas implicites. Exemple 1 : on évalue ∂2u/∂x2 en t = tn+1 au lieu de t = tn. C’est un schéma implicite = il faut résoudre un système linéaire (tridiagonal) pour trouver les un+1j (j=0,…,J) +conditions aux limites en j=0 et J-1 Stabilité : Mais c’est un schéma du premier ordre  Mieux : Crank-Nicholson ! septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

110 Equations de diffusion : schéma de Crank-Nicholson
On prend la moyenne du schéma explicite et du schéma implicite C’est encore un schéma implicite. Mais il est du second ordre en temps (centré en tn+1/2) Stabilité : C’est le schéma recommandé pour tous les problèmes de diffusion… septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique

111 Equations de diffusion plus complexes
Si D n’est pas une constante… On discrétise D Si D(x), on appelle Dj+1/2=D(xj+1/2). Le schéma FTCS devient avec la condition de stabilité Crank-Nicholson devient Les vraies difficultés commencent quand l’équation n’est pas linéaire : D(x,u) . Les schémas implicites deviennent non-linéaires. Si on est capable de calculer z = ∫D(u) du, le membre de droite de l’équation = ∂2z/∂x2 qu’on linéarise. On calcule zjn+1 en faisant un développement limité au 1er ordre. septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique


Télécharger ppt "Master 2 AMD - Méthodes numériques pour l'astrophysique"

Présentations similaires


Annonces Google