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

Ecole d été du GRGS « Détermination du champ de gravité terrestre par les nouvelles missions spatiales » Forcalquier, 2-6 Septembre 2002 Méthodes de résolution.

Présentations similaires


Présentation au sujet: "Ecole d été du GRGS « Détermination du champ de gravité terrestre par les nouvelles missions spatiales » Forcalquier, 2-6 Septembre 2002 Méthodes de résolution."— Transcription de la présentation:

1 Ecole d été du GRGS « Détermination du champ de gravité terrestre par les nouvelles missions spatiales » Forcalquier, 2-6 Septembre 2002 Méthodes de résolution des équations normales, ou d observations G. Balmino, CNES-GRGS 1

2 Première Partie RESOLUTION EXPLICITE DES EQUATIONS Seconde Partie METHODES ITERATIVES ET SEMI-ITERATIVES Logiciel DYNAMO (modules D, DGC,...) (cf. cours de J.M.Lemoine, J.C. Marty) 2

3 Première Partie RESOLUTION EXPLICITE DES EQUATIONS 1. Résolution classique des équations normales :. méthode de Cholesky 2. Résolution à partir des équations d observations :. décomposition Q-R (algos. : Householder, Givens). combinaison de décompositions 3

4 Solution des problèmes de moindres carrés de grande taille Solution par moindres carrés Système : m équations, n inconnuess, m > n A x = b ; matrice de poids : ; A= 1/2 A ; b = 1/2 b A x = b 1. Classique : Equations normales:A T A x = A T b puis décomposition de Cholesky de N = R T N. R N 2. Par transformations orthogonales : A = Q R Q : orthogonale, = Q 1.Q 2. … Q r (r n ) Chaque Q T k : matrice de Householder ou Givens and R = R*R* 0 (R * = R N ) Puis : R *T y = A T b y, et R * x = y x, et cov(x) = R N -1 R N -T s.d.p. 4

5 Householder v = (v i ) est un n-vector e 1 = [1 0 0 … 0] T u = v + || v || e 1 ; ( = +1 si v 1 0, = -1 si v 1 <0) H = I n - 2 u u T / (u T u) H v = - || v || e 1 Givens = Symétrie / sous-espace S u, dim.= n-1, orthogonal à u : Hu= -u ; Hs=s (s S u ) = Rotation dans le plan {e I, e J } : G ij = ij [1+(c-1) ( iI + jJ )] + (s-1) ( iI jJ - iJ jI ) avec c = v I / (v I 2 + v J 2 ) 1/2, s = v J / (v I 2 + v J 2 ) 1/2 v I 1 ; v J 0 e1e1 v u ||v|| e 1 H v SuSu 5

6 Combinaison de matrices R A 1 x = b 1 R 1 x = Q 1 T b 1 A 2 x = b 2 R 2 x = Q 2 T b 2 R1*R1* R2*R2* 0 0 Q 12 R 12 x = b 12 G : plus adapté etc... (= analogie avec combinaison de systèmes normaux) 6

7 Avantages -inconvénients des deux méthodes Eq. normales + Cholesky - facilités de programmation - existence de logiciels en bibliothèques « out-of-core » (+ Cholesky par blocs) Avantages Inconvénients Eq. d observ. + QR - temps de formation eq. norm. m n 2 /2 op. (+ ) - perte de précision (à la formation) - grande précision - temps de calcul : m n 2 op. - peu d expérience avec les très grands systèmes - programmation complexe pour syst. de rang r < n, surtout en « out-of-core » 7

8 Seconde Partie METHODES ITERATIVES ET SEMI-ITERATIVES I- METHODES ITERATIVES GENERALES 1. Principes 2. Trois méthodes générales 2.1. Jacobi (J) 2.2. Gauss-Seidel (GS) 2.3. Sur-relaxations successives (SOR) II- METHODES DE GRADIENT POUR SYSTEMES S.D.P. 1. Principes 2. Descente rapide (SD) 3. Gradients conjugués (CG) 4. Adaptation de CG aux problèmes de moindres carrés III- APPLICATIONS : 1. Rappels 2. Méthode de Jacobi par blocs (BJ) 3. Gradients conjugués préconditionnés (PCG) 4. Adaptations de BJ et PCG au traitement direct des équations d observation 5. Méthodes BJ - comb et PCG - comb dans un contexte de parallélisation Quelques remarques en conclusion 8

9 I - METHODES ITERATIVES GENERALES 1. PRINCIPES n ~ 10 3, 10 4, 10 5, … Ax = b : A (n x n), b (n x 1), x (n x 1) Calcul direct de A -1 : temps ~ o (n 3 ) + pb. Mémoire centrale vs. I/O Supposons : M A (à préciser) ; M simple (facile à inverser) x 0 donné (par ex. x 0 = M -1 b ) ; on pose x=x 0 + x M x = Mx - Ax + b = (M-A) (x 0 + x) + b = (M-A) x 0 + b + (M-A) x D où : M x 1 = (M-A) x 0 + b... M x (k+1) = (M-A) x (k) + b ou : x k+1 = M -1 [ (M-A) x k + b] = x k - M -1 r k (avec r k = A x k - b : résidu) (négligé) 2 écritures : x (k) ou x k Attention ! Notations différentes de la 1.ère partie A = matrice normale 9

10 Convergence du processus M x = (M-A) x + b M x k+1 = (M-A) x k + b M (x - x k+1 ) = (M -A) (x-x k ) ou : M e k+1 = (M - A) e k donc e k+1 = (I - M -1 A) e k = B : matrice de « décision » (critique) e k = B k e 0 Si B = P P -1, avec = diag ( i ) i, i B k = P k P -1 D où : ( k 0 ) ( B k 0 ) ( e k 0 ) x k x Il faut | i | < 1 Rayon spectral de B : | i | max = R L estimation de R est difficile (bornes seulement, en général) 10

11 Calcul de l inverse de A Dans l équation de base on fait les substitutions suivantes : x A -1 b I donc :Ax = b A A -1 = I D où le schéma itératif : A -1 k+1 = A -1 k - M -1 (A A -1 k - I) Choix de M M = diagonale de A : Jacobi M = triangle inférieur de A : Gauss-Seidel M = triangle inférieur de A avec diagonale modifiée : Méthode(s) de relaxation Paragraphe suivant 11

12 2. TROIS METHODES GENERALES 2.1. Jacobi M = D = diag ( a ii ) i si i > 1 si i > n Les valeurs propres i de B J = I - D -1 A sont de module < 1. ekek 0. CV rapide si A est à diagonale dominante Jacobi est bien adapté à la parallélisation Les calculs sur les lignes sont indépendants d une ligne à l autre. 12

13 2.2. Gauss-Seidel Idée Schéma proche de celui de Jacobi, mais x j k+1 ( j

14 2.3. Sur-relaxations successives (SOR) Successive Over-Relaxation G.S. Idée : Corriger « un peu plus » x i k +1 - x i k par un facteur > remplacés par x i k à l étape en cours (k+1) 14

15 Par suite : GS SOR M M M-A (M-A) a ii 0 a ij x k +1 = + b 0 a ij a ii (- 1+ ) 1 15

16 Choix de déterminants : Donc : abs | | = | i | < 1 ( pour CV) i=1 n avec > 1 < 2 Remarque On a : (Dans la pratique =1.9 est un bon choix...) 16

17 RESUME On écrit : A = L + D + U Schéma itératif : F x k+1 = G x k + b, ( k= 0, 1, 2, … n iter ) L D U L intérêt est évidemment d avoir une solution satisfaisante avec un nombre n iter d itérations petit devant n. 17

18 II - METHODES DE GRADIENT POUR SYSTEMES s.d.p. 1. PRINCIPES (1) (cf. GINS, DYNAMO) s.d.p. : sym., (semi-) définie, positive i.e. x T C x 0 Résoudre (1) est équivalent à chercher le minimum de (2) En effet : A x = b, avec A possède la solution x telle que 2 (x) = (Ax-b) T (Ax-b) : minimum Or (x) = 1/2 x T A T A x - x T A T b + 1/2 b T b = (x) + 1/2 b T b =C =d > 0 (2) minimum Donc : 18

19 Si C est s.d.p., (x) = z définit un ellipsoide E z de R n Tous les ellipsoides ont : - mêmes directions d axes (vecteurs propres de C ) - même centre x EzEz x X x ? On pose x = x + X supprimer les termes en X (i.e. linéaires) Donc : (x) = (x + X ) = 1/2 X T C X + X T (C x - d) + 1/2 x T (C x - d) - 1/2 x T d défini par : C x - d = 0 et (x) est minimum au centre, i.e. en X=0... car (X ) = 1/2 X T C X - 1/2 d T C -1 d 0 Le problème revient à trouver le centre des ellipsoides E z par approximations successives Cheminement suivant un trajet p 0, p 1, p 2,... x0x0 x1x1 x2x2 x3x3 p0p0 p2p2 p1p1 etc... 19

20 TECHNIQUE - on part de x 0 C x 0 - d = r 0 - on se donne p 0 (direction de « pente » ) ………. on verra le choix de p 0 - on pose : x 1 = x 0 + t 0 p 0 le facteur d échelle t 0 est tel que (x 1 (t 0 ) ) est minimum (on aura donc un mimimum dans la direction de p 0 ) (x 1 (t 0 ) ) = 1/2 x 1 T C x 1 - x 1 T d = 1/2 (x 0 + t 0 p 0 ) T C (x 0 + t 0 p 0 ) - (x 0 + t 0 p 0 ) T d = (x 0 ) + 1/2 t 0 2 p 0 T C p 0 + t 0 r 0 T p 0 (x 1 (t 0 ) ) min. si : t 0 p 0 T C p 0 + r 0 T p 0 = 0 (3) D où : t 0 = - r 0 T p 0 / ( p 0 T C p 0 ) p 0 non à r 0, sinon x 0 x 1 On a bien (x 1 ) min., car d 2 / dt 0 2 = p 0 T C p 0 >0. De plus : (x 1 ) < (x 0 ) en effet (x 1 ) - (x 0 ) = 1/2 t 0 2 p 0 T C p 0 + t 0 r 0 T p 0 = 1/2 (r 0 T p 0 ) 2 / ( p 0 T C p 0 ) - (r 0 T p 0 ) 2 / ( p 0 T C p 0 ) = - 1/2 (r 0 T p 0 ) 2 / ( p 0 T C p 0 ) < 0. (QED) 20

21 Propriétés : - grad (x 1 ) = r 1 ….. En effet (x 1 ) = C x 1 - d = r 1 - r 1 p 0 ….. r 1 = C x 1 - d = C (x 0 + t 0 p 0 ) - d = r 0 + t 0 C p 0. p 0 T r 1 = p 0 T r 0 + t 0 p 0 T C p 0 = 0. ….. d après (3) Ces deux propriétés impliquent que p 0 est tangent à l ellipsoide passant par x 1 (x) = 0 grad (x 1 ) = r 1 x1x1 p0p0 x0x0 21

22 2. DESCENTE RAPIDE (SD = steepest descent) : x1x1 x2x2 x3x3 x0x0 p0p0 r0r0 r1r1 p1p1 r2r2 p2p2 Ex 1 Ex 2 Ex 3 Cas particulier de la méthode générale Cas général p k non à r k Cas particulier (SD) p k = - r k ( cas de la figure) p 0 tangent à Ex 1 p 1 tangent à Ex 2 p 2 tangent à Ex 3 … p k r k+1 Chemin : x0x0 x1x1 x2 x2 x3x3 22

23 Cas général Cas particulier (Steepest Descent). x 0. r 0 = C x 0 - d. p 0 non à r 0. t k = f (p k ) : x k+1 = x k + t k p k choix t k = - r k T p k / (p k T C p k ). r k+1 = r k + t k C p k (et on vérifie que r k+1 T p k = 0.). x 0. r 0 = C x 0 - d. p 0 = - r 0, … p k = - r k (*). x k+1 = x k + t k p k avec t k = r k T r k / (r k T C r k ). r k+1 = r k + t k C p k (et on vérifie que r k+1 T p k = 0.) (*) Justification : (x) est min. en et grad (x k ) = r k. Or le vecteur grad est dirigé vers les valeurs de croissantes. Pour aller vers le minimum il faut donc aller dans le sens opposé p k = - r k, et t k est évidemment 0 d après son expression. On reste donc bien dans le bon sens. 23

24 3. GRADIENTS CONJUGUES ( CG = Conjugate Gradients ) Principe : p 0 = - r 0 [p k-1, p k ] : conjugués à 2- Dim x0x0 x1x1 x2x2 r0r0 p 0 = - r 0 Ex 1 r1r1 p 1 * =- r 1 (SD) p1p1 x 0 x 1 x 2 … r 2 = 0 car r k r k-j (j>0) {voir ci-après} Exemples (a) 24

25 à 3- Dim x 0 x 1 x 2 x 3 =x … r 3 = 0 car r k r k-j (j>0) {voir ci-après} x0x0 r0r0 p 0 = - r 0 - r 1 p1p1 x2x2 x1x1 Ex 1 Ex 2 r2r2 p2p2 Plan ( p 0, r 1 ) (b) Méthode semi-itérative : n étapes max. (en principe) 25

26 TECHNIQUE. x 0. r 0 = C x 0 - d. p 0 = -r 0 et t 0 = r 0 T r 0 / ( r 0 T C r 0 ) x 1 = x 0 + t 0 p 0 r 1 = C x 1 - d. p 1 = -r p 0 ……………………………………….. p k = -r k + k p k-1 ……..(i) avec p 1 T C p 0 = 0 (relation de conjugaison / C ) 1 = r 1 T C p 0 / (p 0 T C p 0 ) ………… k = r k T C p k-1 / (p k-1 T C p k-1 )…(ii). le minimum, dans le plan (r 1, p 1 ), est obtenu pour : (r k, p k ) t 1 = - r 1 T p 1 / (p 1 T C p 1 ) …………………….. t k = - r k T p k / (p k T C p k )……(iii) (cf. éq. (3) avec indice « 1 » au lieu de « 0 » ) Propriétés : r k+1 = C x k+1 - d = =C (x k + t k p k ) - d r k+1 = r k + t k C p k ………………(iv) p k T r k+1 = p k T r k + t k p k T C p k = 0 …… d après (iii) Donc r k+1 p k 26

27 Propriétés (suite) : De r k+1 = r k + t k C p k, on déduit : p k-1 T r k+1 = p k-1 T r k + t k p k-1 T C p k = 0 = 0 conjugaison =0 Donc r k+1 p k-1 r k+1 p k r k+1 p k-1 donc r k+1 r k, d après (i) De même :r k+1 r k-1 r k+1 r k-2... {r 0, r 1, r 2,… r n-1 } indépendants … et donc r n = 0 (*) x n =x (*) Plus généralement : r rang C = 0 NOMBRE FINI D ETAPES 27

28 Autres expressions de t k et k ( k >0 ) t k = - r k T p k / (p k T C p k ) = - r k T (-r k + k p k-1 ) / (p k T C p k ) Donc t k = r k T r k / (p k T C p k ) k = r k T C p k-1 / (p k-1 T C p k-1 ) = r k T (1/ t k-1 ) (r k - r k-1 ) / [p k-1 T (1/ t k-1 ) (r k - r k-1 )] … d après (iv) Donc k = - r k T r k / (p k-1 T r k-1 ) Une autre expression peut aussi être utilisée. En effet, de p k = -r k + k p k-1 on déduit : r k T p k = - r k T r k + k r k T p k-1 =0 i.e. r k T p k = - r k T r k D où k = r k T r k / (r k-1 T r k-1 ) 28

29 Résumé : C.G. x 0 r 0 = C x 0 - d p 0 = - r 0 k > 0 : k = r k T r k / (r k-1 T r k-1 ) p k = -r k + k p k-1 k 0 : t k = r k T r k / (p k T C p k ) x k+1 = x k + t k p k r k+1 = r k + t k C p k h k = C p k 29

30 Algorithme C.G. - matrice C s.d.p. I-O :C ( I,. ) : matrice s.d.p. d ( I,. ) : vecteur second membre #iter ( I,. ): nombre max. d itérations xi ( I,O): x 0 solution initiale, x i solution à l étape [i] rtr(., O): carré de la norme des résidus Algo :r0 = C xi - d : r 0 = C x 0 - d rtr = r0 T r0 p0 = - r0 ! Itérations do i= 0 #iter if i > 0 then (rtr)old = rtr rtr = ri T ri i = rtr / (rtr)old pi = - ri + i. p[i-1] endif hi = C pi ti = rtr / (pi T hi) x[i+1] = xi + ti. pi : x i+1 = x i + t i p i test de convergence (peut nécessiter un vecteur supp. x[i+1] ) r[i+1] = ri + ti. hi end do i #iter < n remplaçable par un test de convergence ( donné ) L avantage est évidemment d avoir un nombre effectif d itérations, n iter, très inférieur à n, car le nombre d opérations est de l ordre de n 2. n iter... 30

31 4. ADAPTATION DE C.G. AUX EQUATIONS D OBSERVATION (résolution par moindres carrés) Equations d observation : A x - b = v (v : vecteur des résidus) + condition : v T v minimum Equations normales : A T A x - A T b = A T v = 0 (vecteur résidu orthogonal aux vecteurs-colonnes de A) Donc : A T A x = A T b ou : C x = d N.B. poids Dans le cadre C.G. on a : r 0 = C x 0 - d = (A T A) x 0 - A T b = A T ( A x 0 - b) = A T v 0 r k+1 = A T v k+1 (démonstration identique) v k+1 = A x k+1 - b = A(x k + t k p k ) - b = A x k - b + t k A p k = v k + t k A p k p k T C p k = p k T A T A p k = (Ap k ) T (Ap k ) Ceci permet d appliquer la méthode C.G. directement aux équations d observation sans avoir à calculer la matrice normale ! 31

32 Algorithme C.G. pour équations d observation k = 0 ……………..x 0 v 0 = A x 0 - b r 0 = A T v 0 p 0 = - r 0 k > 0 …………….. k = r k T r k / (r k-1 T r k-1 ) p k = - r k + k p k-1 k 0………………t k = r k T r k / (Ap k ) T (Ap k ) x k+1 = x k + t k p k v k+1 = v k + t k (Ap k ) r k+1 = A T v k+1 - on évite le calcul de C = A T A - 2 produits Matrice vecteur : Ap k et A T v k+1 à chaque itération... mais nécessite de stocker A, ou de recalculer chaque ligne (pour chaque observation) à chaque itération. N.B. | v k | décroît de manière monotone. En effet : v k+1 T v k+1 = (v k + t k Ap k ) T (v k + t k Ap k ) = v k T v k + 2 t k v k T A p k + t k 2 (Ap k ) T (Ap k ) Or : v k = v k+1 - t k A p k et r k+1 T p k = 0 | v k+1 | 2 = | v k | 2 - t k 2 (Ap k ) T (Ap k ) + 2 t k (v k+1 T A) p k ……….. (QED) (r k+1 ) T terme nul 32

33 III - APPLICATIONS : cadre GINS-DYNAMO et modèles de géopotentiel 1. RAPPELS C lm, S lm normalisés ; 0 m l ; S l0 = 0. Ordonnancements usuels des indices l (degré) et m (ordre) : (i) l = 2 à L, m=0 à l ………., C, S, C, S, etc… (ii) m= 0 à L, l = sup(m,2) à L, ou l 1 (m) à l 2 (m) L ………., C, S, C, S, etc… (iii). tous les C lm : m= 0 à L l pair : l 1 (m) à l 2 (m), pas = 2 l impair : l 1 (m) à l 2 (m), pas = 2. tous les S lm : m= 1 à L l pair l impair comme pour les C lm Avantage de (iii) : si le système normal, C x = d, résulte : - d équations d observations pour une grille géographique régulière en lat-long (ex: grille de données de surface, de valeurs de F(pot.) sur une sphère externe - cf. méthode « space-wise »), et ceci avec pondération (lat), - ou d équations d observations régulièrement réparties sur une orbite répétitive, alors C est bloc-diagonale. Une telle matrice C ayant cette structure sera notée N (N comme « normale », et comme Neumann qui découvrit cette forme) DYNAMO- -L3 MANEGE 33

34 p i 0 0 p i 0 0 p i 0 0 p i 0 0 p i m=0m=1 m=2 m=L m=1m=2 etc L+1 1 Structure de la matrice normale N p i blocs avec l pair blocs avec l impair ( l 1, l 2 : même parité ) ( id. ) Chaque (sous-)bloc est évidemment symétrique 34

35 Applications Hypothèses. on adopte le mode de rangement (iii). les inconnues autres que les (C lm, S lm ) sont en début ou en fin du vecteur x … ou bien l on a réduit le(s) système(s) pour n avoir que les (C lm, S lm ) comme inconnues. on écrit C = N + N *, avec N : bloc-diagonale Conclusion On peut se servir de N pour :. un algorithme de Jacobi par blocs. préconditionner le système afin d améliorer la convergence de tout processus (semi-) itératif. 2. METHODE DE JACOBI PAR BLOCS (BJ) Avec les notations du chapitre I de cette seconde partie, on prend : A = C, b = d M = N M-A = N-C = - N * d où le processus : N x k+1 = - N * x k + d N (x k+1 - x k ) = - r k Avantages :. en général on a N * << N, d où CV rapide.. N étant bloc-diagonale, résolution facile des systèmes intermédiaires (de plus, chaque bloc est s.d.p. triangulation par Cholesky) 35

36 Algorithme B.J. (Jacobi par blocs) I-O :C ( I,. ) : matrice s.d.p. d ( I,. ) : vecteur second membre N (I,. ): partie bloc-diagonale de C #iter ( I,. ): nombre max. d itérations xi ( I,O): x 0 solution initiale (par ex. x 0 = 0.), x i solution à l étape [i] rtr(., O): carré de la norme des résidus Algo :r0 = C x0 - d ! Itérations do i= 0 #iter rtr = ri T ri dxi = Solution de [ N. dxi = - ri] …. calcul de la solution à chaque fois, ou calcul de N -1 au début, puis produits N -1.(-ri) ensuite x[i+1]= xi + dxi : x i+1 = x i + x i test de convergence (peut nécessiter un vecteur supp. x[i+1] ) r[i+1] = ri + C dxi end do i #iter < n remplaçable par un test de convergence ( donné ) Comme pour l algorithme C.G., un nombre effectif d itérations, n iter, très inférieur à n, doit être capable de résoudre le système avec la précision voulue 36

37 3. GRADIENTS CONJUGUES PRECONDITIONNES (PCG) Théorème Le rayon spectral, CG, de la méthode CG est : CG = [ (1- ) / (1+ )] 2 avec = | max / min | ; i : valeurs propres de C. Donc si est grand, la CV est très mauvaise IDEE. on remplace C x = d par N -1 C x = N -1 d, i.e. avec C = N + N * bloc-diagonale suivant rangement (iii). résultat : << CV accélérée en général En effet : Si N C, ( N sera dite représentative de C ), alors N -1. C I max et min 1. < 1. et PCG 0. ! ~ On peut résoudre directement avec l algorithme CG classique si N -1 est rapide à calculer et N -1 C rapide à former (ce qui est le cas si N est bloc-diagonale), ou bien appliquer à C x = d un algorithme spécial qui réalise PCG implicitement. voir démonstration qui suit 37

38 Transformation de CG en PCG implicite, et formules associées Décomposition (Cholesky) ……………………… pour expliquer les transformations (non requise dans la pratique) N = U T U ( U : triangle sup., par exemple) N -1 = U -1 U -T, avec U -T = (U -1 ) T N -1 C x = N -1 d s écrit : U -1 U -T C (U -1 U) x = U -1 U -T d d où : (U -T C U -1 ) U x = U -T d = Puisque, on a : Donc l algorithme portera sur On va travailler : - dans l espace vectoriel des paramètres, avec les bases x et x - dans l espace vectoriel des résidus, avec les bases d et d ~ ~ 38

39 Transformation X = {espace vectoriel des x }Y = {espace vectoriel des y } x y = C x C C = Q -1 C P = U -T C U -1 chang_ t de base : P =U -1 chang_ t de base : Q =U T ~ r = y - d = C x - d cf. (directement) On a aussi : car p k Y On va ensuite appliquer les formules de base de C.G. au système, d où... 39

40 Formules associées (i) N -1 donc : (ii). Id. ………………………... (iii). ………………………... N -1 N -1 C ………… On pose : …………… On pose : (iv). ………………. …………………….. 40

41 Algorithme de PCG I-O :C ( I,. ) : matrice s.d.p. d ( I,. ) : vecteur second membre N (I,. ): matrice bloc-diagonale, ou matrice générale de préconditionnement #iter ( I,. ): nombre max. d itérations xi ( I,O): x 0 solution initiale, x0 (par ex. x 0 = 0.) ; x i solution à l étape [i] rt (., O): carré de la norme des résidus Algo :r0 = C x0 - d ==> 0= Solution de { N 0 = r0 } rt = r 0 T 0 0= - 0 ! Itérations do i= 0 #iter if i > 0 then (rt )old = rt rt = ri T i i = rt / (rt )old i = - i + i. [i-1] endif hi = C i ti = rt / ( i T hi) x[i+1] = xi + ti. i test de convergence r[i+1] = ri + ti. hi [i+1]= Solution de { N [i+1] = r[i+1] } end do i #iter < n remplaçable par un test de convergence ( donné ) Algo. CG si N=N -1 = I car alors : r k = k h k = h k p k = k k = k t k = t k * * * Il peut être avantageux, si N -1 est très rapide à calculer et/ou si #iter est grand, de pré-calculer N -1 et d'effectuer les produits N -1 r 0, N -1 r 1, N -1 r 2,... Si N -1 n'existe pas, choisir un algorithme de résolution de N = r qui soit de norme minimum (par ex., "Cholesky étendu"). 41

42 4. ADAPTATIONS DE "BJ" ET DE "PCG" POUR LE TRAITEMENT DIRECT DES EQUATIONS D'OBSERVATION. D'après II.4, on doit faire les changements suivants : C x = d A x - b = v r 0 = C x 0 - d v 0 = A x 0 - b r 0 = A T v 0 "BJ" modifié r i+1 = r i +C x i v i+1 = v i + A x i r i+1 = A T v i+1 "PCG" modifié h i = C i g i = A i h i = A T g i t i = r T / ( i T h i ) t i = r T / (g i T g i ) x i+1, r i+1 idem v i+1 = v i + t i g i... et utilisation de N 42

44 Algorithme "B.J.- Comb" I-O :J, K ( I,. ) : nombres de groupes de matrices A et C, respectivement A u ( I,. ) : J matrices d'observation b u ( I,. ) : J vecteurs seconds membres des équations d'observation C w ( I,. ) : K matrices normales d w ( I,. ) : K vecteurs seconds membres des équations normales N (I,. ): partie "représentative" de C, peut être bloc-diagonale #iter ( I,. ): nombre max. d itérations xi ( I,O): x 0 solution initiale (par ex. x 0 = 0.), x i solution à l étape [i] rtr(., O): carré de la norme des résidus = r T r, pour les J+K groupes Algo : r0 (= r 0 ) : v u,0 = A u x 0 - b u r n w,0 = C w x 0 - d w r u,0 = A u T v u,0 ! Itérations do i= 0 #iter rtr = ri T ri : = somme sur les r u,i et r w,i (u= 1 à J ; w=1 à K) dxi = Solution de [ N. dxi = - ri] …. calcul de la solution à chaque fois, ou calcul de N -1 au début, puis produits N -1.(-ri) ensuite x[i+1]= xi + dxi : x i+1 = x i + x i test de convergence r[i+1] : v u, i+1 = v u,i + A u dx i r n w, i+1 = r n w,i + C dxi r u, i+1 = A u T v u, i+1 end do i Remarque : notation r n pour les résidus des systèmes normaux, pour les distinguer (à cause de l'indiçage) de ceux des autres systèmes normaux (non formés) associés aux équations d'observation. remplaçable par un test de convergence ( donné ) u= 1,... J w=1,... K // 44

45 Algorithme "P.C.G.- Comb" I-O :J, K ( I,. ) : nombres de groupes de matrices A et C, respectivement A u ( I,. ) : J matrices d'observation b u ( I,. ) : J vecteurs seconds membres des équations d'observation C w ( I,. ) : K matrices normales d w ( I,. ) : K vecteurs seconds membres des équations normales idem N (I,. ): partie "représentative" de C, peut être bloc-diagonale "BJ-Comb" #iter ( I,. ): nombre max. d itérations xi ( I,O): x 0 solution initiale (par ex. x 0 = 0.), x i solution à l étape [i] rt (., O): carré de la norme des résidus d'ajustement, = résidus des équations "normales" (réelles ou virtuelles) pour les J+K groupes v u,i : résidus des J groupes d'observations Remarque : Tout comme pour "B.J.-Comb", nous noterons r n les résidus des systèmes normaux, pour les distinguer (à cause de l' indiçage) de ceux des autres systèmes normaux (non formés) correspondant aux systèmes d'équations d'observation Algo : planche suivante... 45

46 Algo : r0 : v u,0 = A u x 0 - b u r n w,0 = C w x 0 - d w r u,0 = A u T v u,0 0 = solution de { N 0 =r0 } rt = r0 T 0 0 = - 0 ! Itérations do i= 0 #iter if i > 0 then (rt )old = rt rt = ri T i somme sur les r u,i et r w,i (u= 1 à J ; w=1 à K ) i = rt / (rt )old i = - i + i. [i-1] endif g u,i = A u i h w,i = C w i h u,i = A u T g u,i ti = rt / ( g u,i T g u,i + i T h w,i ) x[i+1] = xi + ti. i test de convergence r[i+1] : v u, i+1 = v u,i + t i g u,i r n w, i+1 = r n w,i + t i h w,i r u, i+1 = r u,i + t i h u,i [i+1]= Solution de { N [i+1] = r[i+1] } end do i calcul de la solution à chaque fois, ou calcul de N -1 au début, puis produits N -1 ri ensuite Fin de l'algorithme // u= 1,... J w=1,... K Algorithme "P.C.G.- Comb" ( suite et fin ) * * * // u= 1,... Jw=1,... K – – – – – – – 46

47 Quelques remarques en conclusion Systèmes singuliers et gradients conjugués (CG) Soit le problème : C x = d avec : x T x : minimum ==> On minimise la fonctionnelle : (x, ) = x T x - 2 T ( Cx - d ) multiplicateurs de Lagrange / x = 0 x = C T x espace vect. { lignes de C } N.B. Si C = A T A, x = A T A = A T µ x espace vect. { lignes de A } µ... et r k également. C.G. fournit automatiquement la solution de norme minimum du problème de moindres carrés (donc on obtient cette solution même si C -1 n'existe pas) 47

48 Stabilisation par des lois de type "Kaula" : - application habituelle (chaîne DYNAMO) sur les systèmes normaux - peut aussi se faire sur les équations d'observation en écrivant : ( C lm, S lm ) = 0 ± / l 2 Obtention des variances et des covariances de la solution : - problèmes de potentiel gravitationnel (avec harmoniques sphériques) : une estimation satisfaisante peut être obtenue à partir de l'inverse de la matrice de préconditionnement N (bloc-diagonale), l'inverse exacte de C n'étant calculée - si c'est possible, que pour la solution finale. - problème quelconque,... ou nécessité d'avoir la matrice de covariance exacte : la possibilité dépend de la puissance de calcul !!! 48

49 ET VOILA LA SOLUTION ! 49

50 FIN 50


Télécharger ppt "Ecole d été du GRGS « Détermination du champ de gravité terrestre par les nouvelles missions spatiales » Forcalquier, 2-6 Septembre 2002 Méthodes de résolution."

Présentations similaires


Annonces Google