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

Septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique1 Méthodes numériques pour lastrophysique M2 « Astrophysique et Milieux Dilués »

Présentations similaires


Présentation au sujet: "Septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique1 Méthodes numériques pour lastrophysique M2 « Astrophysique et Milieux Dilués »"— Transcription de la présentation:

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

2 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique2 Méthodes numériques pour lastrophysique 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

3 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique3 Méthodes numériques pour lastrophysique 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

4 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique4 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 quil 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 lintervalle.

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

6 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique6 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)/2 if f(c)*f(a)>0 then a = c else b = c end if end do Cette méthode a lavantage de marcher tout le temps pourvu quil y ait une racine. Elle ne nécessite pas le calcul de la dérivée. Cest une méthode dordre 1 convergence moyennement rapide.

7 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique7 Autres méthodes dordre 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…

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

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

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

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

12 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique12 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 x i, i=1..n Tout repose dans le choix des coefficients i et des points x i. Les formules convergent vers lintégrale lorsque n

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

14 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique14 Quadratures de Gauss – polynômes orthogonaux Idée : ne plus imposer que les x i soient régulièrement espacés. Choisir les x i et les i de manière à ce que la formule dapproximation soit exacte pour des polynômes de degré le plus élevé possible. Cest 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 x i et les i telle que lapproximation 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 P n lorsque n varie est orthogonale au sens du produit scalaire suivant

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

16 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique16 Quadratures de Gauss – polynômes orthogonaux (a,b)w(x)Nom des polynômesRécurrence (-1, 1)1Polynômes de Legendre(n+1) P n+1 (x) = (2n+1) xP n (x) - nP n-1 (x) (-1,1)(1-x²) -1/2 Polynômes de TchébychevP n+1 (x) = 2xP n (x) - P n-1 (x) (0,+)x c e -x Polynômes de Laguerre(n+1) P n+1 (x) = (-x+2n+c+1) xP n (x) - (n+c) P n-1 (x) (-,+)e -x² Polynômes de HermiteP n+1 (x) = 2xP n (x) - 2nP n-1 (x) Cas particuliers : Dans le cas de Gauss-Legendre, on a en outre Et pour tout intervalle (a,b) on a

17 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique17 Exemple résolu : Gauss-Legendre SUBROUTINE GAULEG(X1,X2,X,W,N) IMPLICIT NONE INTEGER*4 N,M, ! Ordres & I,J ! Indices REAL*8 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 dintervalle 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 DO END

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

19 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique19 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 lensemble et on approxime la moyenne par Lerreur moyenne sur lintégrale est convergence en n -1/2, lente Si W nest 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.

20 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique20 Minimisation de fonctions Problème : Trouver numériquement un point minimum (ou maximum) dune 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.

21 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique21 Méthodes en dimension 1 On veut minimiser une fonction f dune variable réelle. Avant de converger, il faut encadrer un minimum : trouver 3 points a

22 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique22 Méthode : interpolation par paraboles inverses Idée : près dun minimum, la fonction sapproxime 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.

23 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique23 Méthodes multidimensionnelles On cherche à minimiser une fonction f(x 1,…,x n ) = f(x) La plupart des méthodes procèdent à des minimisations successives le long de plusieurs directions. Minimisation le long dune direction: étant donné deux vecteurs x et n, trouver le réel qui minimise f(x+ n). On utilise une méthode de dimension 1 A partir de x+ n, 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. Les directions n et n doivent être conjuguées.

24 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique24 Directions conguguées On se place en un point P Le changement de gradient dans un déplacement infinitésimal vaut Une fois quon 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.

25 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique25 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 u i, i=1..n. Au départ, on prend u i =e i (vecteurs de base). On répète ensuite la séquence suivante: –On part dune position de départ x 0. –On fait n minimisation successives le long des n directions. On appelle x 1,… x n les points trouvés. –On remplace u 0 par u 1, puis u 1 par u 2, …, u n-1 par u n. –On remplace u n par x n -x 0 –On minimise dans la direction de u n à partir de x n et on remplace x 0 par le point trouvé. La méthode a un défaut : elle tend à produire des directions u i linéairement dépendantes Solution : Réinitialiser les directions (u i =e i ) toutes les n itérations. Remarque : Cette méthode est une méthode sans gradient.

26 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique26 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.

27 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique27 Méthode de Fletcher-Reeves-Polak-Ribiere On part dun point x 0, on fixe une direction u 0, et on calcule A chaque étape on dispose de On minimise le long de u i. On appelle x i+1 le nouveau point trouvé. On calcule On calcule u i+1 comme On recommence. Cette méthode garantit que les directions u i sont conjuguées. Elle est recommandée quand on na aucune idée de la matrice Hessienne.

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

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

30 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique30 Propriétés des estimateurs RRSi (T n ) est un estimateur convergent du paramètre θ, si φ est une fonction de IR dans IR, continue en θ, alors φ(T n ) est un estimateur convergent de φ(θ). Exemple : X suit la loi uniforme sur [0,θ]. X n est un estimateur convergent de la moyenne = θ/2 T n =2X n 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 dautres. Comment sélectionner le meilleur ?

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

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

33 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique33 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.

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

35 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique35 Recherche destimateurs 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[X k ] et E[(X-E(X)) k ] sont les moments de la variable aléatoire X. –Je suppose une loi de probabilité dune forme particulière, dépendant de k paramètres k que je cherche à estimer. –Les k premiers moments peuvent sexprimer en fonction des k Les paramètres sexpriment en fonction des moments. –Il suffit davoir 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 quon tire sont souvent peu précis.

36 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique36 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 P e. Si (x 1,…,x n ) est un échantillon observé, (c 1,…,c k ) lensemble des valeurs prises par les x i s, on définit P e (c i )=n(c i )/n, où n(c i ) est le nombre de fois où c i 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 (F e )

37 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique37 Méthodes numériques pour lastrophysique 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

38 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique38 Modélisation de données par régression On mesure une série de données (x 1,y 1 )… (x n,y n ). On cherche à trouver une relation physique y=F(x). Dans la pratique on se donne un modèle dépendant dun 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 (x i,y i ). Chaque mesure y i vient avec son erreur standard σ i 2. Y i =f(α 1,…,α k ; x i )+E i, où E i est une variable aléatoire de variance σ i 2. On va chercher les paramètres qui minimisent Toute la difficulté consiste à 1.Trouver les paramètres réalisant le minimum 2.Estimer lincertitude sur les paramètres.

39 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique39 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

40 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique40 Régression linéaire (2) Erreur sur a et b : – Var(y i )=σ i 2 Var i y i i 2 σ i 2 (Somme de variables aléatoires indépendantes)

41 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique41 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) = α 1 X 1 (x)++α k X k (x) où les X 1,…,X k sont des fonctions données à lavance 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

42 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique42 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 f ij = [c] -1 ij. On a

43 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique43 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. Cest conceptuellement identique à un problème de minimisation dans un espace de dimension k. La non-linéarité ne garantit pas lexistence dun 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.

44 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique44 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 -1v. De manière équivalente, si on part dun vecteur α 0, on a Si la fonction nest pas trop éloignée dune forme quadratique, cette formule peut-être une bonne formule ditération. Si la fonction est plus compliquée, on se contentera dune simple descente de gradient Idée de la méthode : Alterner entre les deux formules Problème : Il faut la matrice H = matrice Hessienne

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

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

47 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique47 Intervalles de confiance des paramètres Une fois quon 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 nest utilisable que si les erreurs de mesure sont distribuées de manière gaussienne ! Si ce nest pas le cas, on peut en déduire nimporte quoi !! Si les erreurs ne sont pas gaussiennes (ou si on ne sait pas), il faut avoir recours à dautres méthodes statistiques beaucoup plus robustes…

48 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique48 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 dintervalles de confiances δα j, j=1..n ne constitue pas une région de confiance pour les k paramètres conjointement…

49 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique49 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 lopé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).

50 Méthode MCMC (Monte-Carlo + Chaînes de Markov) Idée : ne plus chercher dintervalle de confiance pour les paramètres, mais échantillonner leur distribution statistique. Cest 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é dobserver 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'astrophysique50

51 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 nest pas facile de trouver une probabilité de transition réversible. On peut en construire une à partir dune autre qui ne lest pas, par lalgorithme de Metropolis-Hastings septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique51

52 Méthode MCMC (3) Méthode à chaque pas : 1.Connaissant i, on tire au hasard un i+1 en suivant 2.On calcule 2 ( i+1 ) et 2 ( i ). 3.On détermine le rapport 4.On tire un nombre u au hasard entre 0 et 1. 5.On calcule. Si u<, on accepte le pas, sinon on revient à i. Souvent, on prend q tr symétrique dans une direction v. On fait tourner les directions. On peut prendre q tr 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'astrophysique52

53 Méthode MCMC (4) Test darrêt : Statistique de Gelman-Rubin. On fait tourner 1020 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'astrophysique53

54 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique54 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 dautres 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 sil ny a pas trop de minima locaux et si la dimension de lespace nest 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 dexplorer correctement un espace des paramètres de dimension élevée.

55 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique55 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 ditération. La température initiale T 0 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 lapplique avec la probabilité e -Δχ 2 /T(n) Cette technique peut permettre de sortir dun minimum local.

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

57 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique57 Méthodes numériques pour lastrophysique 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

58 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique58 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 dapproche 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.

59 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique59 Equations différentielles ordinaires Cest résoudre le problème Remarques : –y nest pas nécessairement scalaire. Ce peut être un vecteur système différentiel –Les équations dordre supérieur se ramènent à ce schéma : –avec une condition aux limites de la forme y(x 0 )=y 0, dy/dx(x 0 )=y 0 (problème de type conditions initiales) –Si les conditions aux limites sont de la forme y(x a )=y a et y(x b )=y b, le problème est de nature différente (et la méthode dapproche aussi…) (problème de conditions aux limites en deux points distincts)

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

61 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique61 Méthodes de type Runge-Kutta (2) Runge-Kutta dordre 2 (ou méthode du point médian) y n+1 =y(x n+1 )+O(h 3 ) Runge-Kutta dordre 4: y n+1 =y(x n+1 )+O(h 5 ) Remarque : Si le système est vectoriel les k i s sont des vecteurs…

62 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique62 Contrôle du pas Comment sassurer de la qualité de lintégration ? Comment doit-on adapter le pas dinté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 y 1 –En prenant deux pas h/2 y 2 En comparant y 1 et y 2, on teste si lintégration est bonne. On pose Δ=y 2 -y 1 h 5. Si lerreur quon 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

63 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique63 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 ? y 1 ou y 2 ? Une combinaison… Deuxième méthode : Fehlberg-Cash-Karp. Au lieu dutiliser 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 dordre 5 et une dordre 4.

64 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique64 Contrôle du pas (3) : Felhberg-Cash-carp La formule dordre 5 est de la forme La formule dordre 4 utilise les mêmes coefficients a i et b ij, mais des coefficients c i différents j12345 iaiai b ij cici c i 137/ / / /103/409/40250/ / /53/10-9/106/5125/ / /545/2-70/2735/270277/ /81631/ /512575/ / / /17711/4

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

66 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique66 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 x 0, on va calculer y(x 0 +H) (H grand). On prend une méthode de Runge-Kutta –Si on prend n 1 pas (h 1 =H/n 1 ), on obtient une estimation y est (x 0 +H,H/n 1 ); –Si on prend maintenant n 2 pas (n 2 >n 1 ), on obtient une nouvelle (meilleure) estimation y est (x 0 +H,H/n 2 ) Idée de Bulirsh-Stoer : Considérer y est (x 0 +H,h) comme une fonction de h (ou n=H/h) et extrapoler cette fonction à h0 (ou n).

67 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique67 Méthode du point médian modifiée (ou différences centrées) Cest la méthode de Runge-Kutta quon utilise pour Bulirsh- Stoer. On veut aller de x 0 à x 0 +H en n pas de h=H/n. Cest une méthode dordre 2 (moins précise que RK4). Mais avantage pour Bulirsch-Stoer : Lerreur ne contient que des puissances paires de h :

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

69 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique69 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 sarrête lorsque la correction est suffisamment petite.

70 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique70 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 dEuler 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)=Y 0 ), où C est une matrice symétrique définie positive (solution Y(x) = exp(-Cx).Y 0 ) qui diverge dès quune des valeurs propres de (I-hC) sort de [-1..1], cest-à-dire quon 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

71 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique71 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)=e x … Que faire ? –Eviter davoir des valeurs propres très différentes dédimensionnement –Faire très attention à ladaptation du pas –Employer des méthodes implicites

72 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique72 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 dordre supérieur Méthodes semi-implicites de Rosenbrock

73 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique73 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 dordre supérieur Les γ, γ ij, α ij, c i et lentier 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.

74 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique74 Codes N corps Le problème (gravitationnel) des N corps est un exemple de système différentiel dordre 6N qui peut sinté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 dinté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

75 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique75 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(x i,p i ) : Pour toute quantité q(x i,p i ) La solution donnant q(t) à partir de q(t- ) est

76 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique76 Intégration symplectique (2) Une intégration numérique, cest trouver q(t) connaissant q(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, lerreur faite sur H est bornée

77 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique77 Intégration symplectique (3) Hypothèses de base de lintégration symplectique : H = H A +H B (F = A+B) où on sait intégrer H A et H B (on sait calculer exp(τA) et exp(τB)) Souvent, on suppose en plus H B <

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

79 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique79 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 : x i =x,y,z.. p i =mv x,mv y,mv z … –T = T(p i ) et U=U(x i ) On sait intégrer séparément T et U – Méthode symplectique avec H A =T, H B =U. Mais on na pas H B <

80 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique80 Les problèmes de rencontres proches Lorsque deux corps passent proches lun de lautre, on a des perturbations importantes et rapides. Lidé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 (H integ =f(τ)) difficulté ! Deux variantes : –On laisse tomber la symplecticité le temps de la rencontre proche (code RMVS Levison & Duncan) –On modifie le découpage H A +H B 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).

81 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique81 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~N 2 /2 termes de forces. Cest lent et le temps de calcul est N 2. On arrive à simuler quelques 10 4 particules. Codes en arbre : tempe de calcul N×ln N ~10 8 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.

82 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique82 Codes autogravitants (2) Codes particul le (PM): On découpe lespace en J 3 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 Cest une convolution discrète. En passant par lespace de Fourier, il ny a quà multiplier les transformées de Fourier temps de calcul en J×ln J (~10 9 cellules) Codes particule-particule/particule-malle (P 3 M) : 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 ~10 7 particules –Variante : TMP (Tree/Particle Mesh), où la partie PP est calculée avec un code en arbre. On atteint ~10 10 particules ! Codes à grille adaptatives (AP 3 M) : On crée des sous-grilles plus fines dans la partie P 3 M là où la densité de particules est plus grande (Codes MLAPM, ART, RAMSES…)

83 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique83 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=(y 1,…y n ) est un vecteur de dimension n, avec n 1 conditions de la forme g i (x 1,Y)=0 (à satisfaire en x=x 1 ) et n 2 conditions h i (x 2,Y)=0 (en x=x 2 x 1 ) (n=n 1 +n 2 ) Cas particulier classique : une équation scalaire du second ordre y=f(x,y,y) avec y(x 1 )=y 1 et y(x 2 )=y 2. Deux méthodes dapproche : méthodes de tir et méthodes de relaxation.

84 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique84 Méthodes de tir Idée : On va intégrer en partant de x 1 à partir dun point initial qui vérifie les n 1 premières conditions. On ajuste ensuite le point de départ de manière à ce que les n 2 autres en x=x 2 soient satisfaites. Le point de départ est Y(x 1 ), en vecteur à n composantes. Les n 1 conditions en x=x 1 laissent un « espace » de dimension n 2 pour choisir Y(x 1 ). On dira Y(x 1 )=Y(x 1,v 1,…,v n 2 ). On écrit V=(v 1,…,v n 2 ). Pour un choix de V, on intègre par une méthode classique jusquà x=x 2. On obtient Y(x 2,V). On regarde ensuite f k =h k (x 2,Y(x 2,V)) pour k=1,…,n 2. (F=(f 1,…,f n 2 )) 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 (F i /V j ) (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 !

85 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique85 Méthodes de relaxation On remplace léquation différentielle par un schéma de différences finies : –On divise lintervalle en p segments de longueur h=(x 2 -x 1 )/p; on pose t i =x 1 +i×h, i=0,…,p (t 0 =x 1, t p =x 2 ); on pose Y i =Y(t i ). –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+n 1 +n 2 = (p+1)×n) que lon doit résoudre pour trouver Y 0,…,Y p.

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

87 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique87 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=(Y 0,…,Y p ) qui se résout par Newton-Raphson (dimension n(p+1)). A chaque pas, on cherche lincrément ΔY à appliquer à Y :(J F = Jacobienne de F) Y n(i-1)+j =Y i,j. On a La matrice J F est bloc-diagonale ! Il faut tenir compte de cette forme pour résoudre le système (élimination Gaussienne bloc par bloc) !

88 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique88 Méthodes de relaxation : plus loin Dans certains cas, il peut y avoir des conditions au limites au milieu de lintervalle considéré Ca rajoute un bloc spécial dans la milieu de la matrice. Dans dautres situations, on cherche à ce que les p+1 points t i 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=(t 0,…,t p ) comme un ensemble de variables supplémentaires et donner des équations à satisfaire. –Les codes dévolution stellaire fonctionnent de cette façon…

89 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique89 Méthodes numériques pour lastrophysique 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…

90 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique90 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 dautres 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

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

92 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique92 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 (x j,y l ), pour j=0...J, l=0…L, réalisant un maillage de lespace 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

93 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique93 Equations elliptiques : Résolution du système La résolution de léquation aux différences finies se ramène donc à la résolution dun 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 10 8 é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 lespace mémoire suffisant pour stocker la matrice… Autrement, les bonnes méthodes sont les méthodes de relaxation

94 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique94 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 dun 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

95 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique95 Equations elliptiques : Méthodes de relaxation Les deux méthodes sont convergentes mais lentement. Gauss-Seidel est un peu plus efficace. Lerreur 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

96 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique96 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 nest 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)

97 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique97 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 w j,l sécrit La formule ditération à condition de prendre les variables dans la bon ordre pour faire linversion 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

98 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique98 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 u j n+1 (j=1,…,J) en fonction des u j n (j=1,…,J) et éventuellement u j n-1 (j=1,…,J) Important : La stabilité dun schéma (von Neumann). Un schéma doit être stable pour être praticable. Un mode propre du schéma cest u j n+1 /u j n =ξ. Stabilité |ξ(k)| 1 pour tout k (sinon on pourrait trouver un mode croissant exponentiellement) On injecte la forme dun mode propre dans léquation du schéma pour trouver ξ(k)…

99 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique99 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

100 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique100 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…

101 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique101 Schéma de Lax On remplace u j n par (u j+1 n +u j-1 n )/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 u j n+1 (en x=x j ) à laide de u j+1 n et u j-1 n (en x=x j-1 en x=x j+1 ). Linformation se propage à la vitesse maximale ±c. Les points u j+1 n et u j-1 n doivent être en dehors de zone liée à u j n+1.

102 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique102 Schéma de Lax Dissipation Si |c|Δt < Δx, |ξ(k)| < 1 Lamplitude 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 leffet est faible car |kΔx| > Δx).

103 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique103 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 linformation à t n et t n-1 pour calculer à t n+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 ! Cest ce qui fait lintérêt de cette méthode.

104 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique104 Staggered Leapfrog : Equations du second ordre Dans le cas dune équation de conservation de flux le leapfrog sécrit On écrit ce schéma pour léquation des ondes (r = cu/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

105 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique105 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 (x j+1/2, t n+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 u j n+1 Dans le cas de léquation simple (F=cu), lensemble se réduit à

106 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique106 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… Leffet 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 dune conservation dun flux (type ondes), adopter dabord le leapfrog. Sil y a des problèmes dinstabilité, passer au schéma de Lax-Wendroff.

107 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique107 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, linformation sur u j n+1 ne peut pas venir de u n j+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 nest plus que du premier ordre. Mais ça peut être plus stable dans certains cas… A utiliser quand cest nécessaire !

108 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique108 Equations de diffusion (paraboliques) Equations du type D = coefficient de diffusion. Cest 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 Cest 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.

109 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique109 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 2 u/x 2 en t = t n+1 au lieu de t = t n. Cest un schéma implicite = il faut résoudre un système linéaire (tridiagonal) pour trouver les u n+1 j (j=0,…,J) +conditions aux limites en j=0 et J-1 Stabilité : Mais cest un schéma du premier ordre Mieux : Crank-Nicholson !

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

111 septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique111 Equations de diffusion plus complexes Si D nest pas une constante… On discrétise D Si D(x), on appelle D j+1/2 =D(x j+1/2 ). Le schéma FTCS devient avec la condition de stabilité Crank-Nicholson devient Les vraies difficultés commencent quand léquation nest 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 = 2 z/x 2 quon linéarise. On calcule z j n+1 en faisant un développement limité au 1 er ordre.


Télécharger ppt "Septembre 2011 Master 2 AMD - Méthodes numériques pour l'astrophysique1 Méthodes numériques pour lastrophysique M2 « Astrophysique et Milieux Dilués »"

Présentations similaires


Annonces Google