180 likes | 273 Views
Calcul des groupes d'homologie d’objets discrets. Sylvie Alayrangues - Jacques-Olivier Lachaud AS géométrie discrète. 09 juillet 2003. Plan. Utilité des groupes d'homologie Définition Algorithme de calcul Pistes de recherche. Utilité des groupes d'homologie. Invariant topologique
E N D
Calcul des groupes d'homologied’objets discrets Sylvie Alayrangues - Jacques-Olivier Lachaud AS géométrie discrète 09 juillet 2003
Plan • Utilité des groupes d'homologie • Définition • Algorithme de calcul • Pistes de recherche
Utilité des groupes d'homologie • Invariant topologique • Moins puissant que les groupes d'homotopie • Calculables pour des structures discrètes • Caractérisation d'objets • Deux objets qui n’ont pas les mêmes groupes d’homologie ont des topologies différentes • Mais deux objets avec les mêmes groupes d’homologie n’ont pas forcément la même topologie
Plusieurs types d'homologie : Ici homologie simpliciale A un n-complexe simplicial sont associés (n+1) groupes d'homologie : Hk, k = 0..n k= rang de Hk (nombres de Betti) Intuitivement : Hk permet, entre autres, de compter les trous k-dimensionnels d'un objet, de définir des générateurs de ces trous… 0 : nb de composantes connexes Définition des groupes d'homologie (1)
Définition des groupes d'homologie (2) • Formellement : • Complexe simplicial K : ensemble de simplexes tel que toute face d'un simplexe de K est dans K, et que l'intersection de deux simplexes de K est face de chacun d'eux • Cp(K,G) : Ensemble des p-chaines de K à coefficients dans G (groupe abélien - ici le groupe des entiers) • p : Cp(K,G) Cp-1(K,G) : opérateur bord • Zp(K,G)= Ker p et Bp-1(K,G)= Im p • pp+1 = 0 • Hp(K,G) = Zp(K,G)/Bp(K,G)
2 1 4 3 Exemple • C0(K) = (1,2,3,4) • C1(K) = (12,13,14,23,24,34) • 1(12)=2-1 • 1(12+23-13)=0 • Matrice d’incidence 1 2 3 4 1 12 -1 1 0 0 13 -1 0 1 0 14 -1 0 0 1 23 0 -1 1 0 24 0 -1 0 1 34 0 0 -1 1
Principe du calcul (1) • Hp(K,G) = ...Zb1Zb2... Zbqp = βp Zb1Zb2... Zbqp • b1,b2,...,bqp sont les facteurs invariants • bi / bj pour tout i et j, tels que i < j • bp est le nombre de betti associé • Calcul de Hp(K,G) = calcul de βp, b1,b2,...,bqp
3 2 1 1 6 7 5 4 8 5 4 9 10 1 3 1 2 Exemple de torsion sur la bouteille de Klein • w = [1,4]+[4,5]+[5,1] • soit s2 la somme de tous les 2-simplexes • s2= 2 w cycle w = élément de torsion • on montre que c = 0 c = n ([1,2]+[2,3]+[3,1]) + mw • avec n = 0 et m pair • H1 Z Z2
Principe du calcul (2) • Obtenir la forme normale de Smith des matrices d'incidence • On peut montrer que : • Smith(p) donne les coefficients de torsion de Hp-1(K) • βp (K) = rank Cp(K) - rank dp(K) - rank dp+1 (K)
Principe du calcul (3) • Problèmes : • Réduction d'une matrice d'entiers • À toutes les étapes, on manipule des entiers • Les éléments des matrices intermédiaires peuvent devenir très grands • Dépassements mémoire • Complexité en temps élevée • Sujet actif de recherche (algèbre)
Optimisations possibles • Construction de la matrice d'incidence • Prise en compte du caractère creux de la matrice (choix du stockage) • Manipulation des matrices • Suppression des lignes nulles au fur et à mesure • Calculs les plus coûteux effectués sur des sous-matrices choisies de manière appropriée • Utilisation d’un modulo pour effectuer les calculs (résultat de Storjohann)
Algorithme • Construction d'une matrice d'incidence : di • Calcul de la forme normale de Smith de di • Triangularisation de la matrice avec un maximum de pivots de valeur 1 : di' • Mémorisation du nombre de 1 • Extraction de la sous-matrice di'' contenant toutes les lignes qui n'ont pas 1 pour pivot • Obtention de la forme normale de Smith de di''
Construction de di • Complexe simplicial défini par ses faces maximales • Calcul de la liste de ses faces de dimension i • Ordre lexicographique • Matrice di obtenue par ligne : • 1 ligne / i-simplexe, 1 colonne / (i-1)-simplexe • À partir de chaque i-simplexe, on construit chacune de ses (i-1) faces en enlevant à chaque fois un sommet, on récupère l'indice de la face obtenue (i.e. le numéro de la colonne) dans la liste des (i-1) simplexes et on remplit la matrice en alternant les valeurs 1 et -1 • Matrice bien ordonnée
Triangularisation de di' (1) • 1ère étape : réalisée ligne par ligne : • ri : index de la colonne de la première valeur non nulle de la ligne i • Recherche d'un maximum de lignes avec des ri distincts et telles que di'[i,ri] = 1 • Modifications de chaque ligne avec des opérations élémentaires (li = +/-li +/- k*lj) jusqu'à ce que : • Ligne = vecteur nul ligne retirée de la matrice • Ligne dans la forme recherchée ligne gardée telle quelle • ri distinct de rj pour tous les j précédemment rencontrés mais Di'[i,ri] 1 traitement de la ligne différé
Triangularisation de di' (2) • 2ème étape : traitement des lignes différées • Lignes traitées comme précédemment mais utilisation d'opérations plus coûteuses (gcd) • Obtention d'une matrice avec beaucoup de pivots valant 1 et éventuellement quelques pivots différents de 1 • 3ème étape : calcul des éventuelles torsions • Extraction de la matrice telle que les pivots sont différents de 1 et calcul de la forme de smith de cette matrice (méthode décrite par Munkres).
3 1 1 6 7 5 4 8 5 4 9 10 1 3 1 2 Exemple : bouteille de Klein • Triangulation possible : ((1,2,6)(1,4,6)(1,2,9)(1,5,9)(1,3,7)(1,5,7)(1,3,10)(1,4,10)(2,3,6)(2,9,10)(2,3,10)(3,6,7)(4,5,6)(4,5,10)(5,6,9)(5,7,10)(6,8,9)(6,7,8)(7,8,10)(8,9,10)) • Nombres de Betti et torsions : • [1 ()] • [1 (2(1))] • [0 ()] 2
2 3 1 4 7 8 5 6 9 5 6 10 11 1 2 4 3 Exemple : plan projectif • Triangulation possible : ((1,2,7)(1,2,11)(1,6,7)(1,6,11)(2,3,7)(2,3,11)(3,4,8)(3,4,10)(3,7,8)(3,10,11)(4,5,8)(4,5,10)(5,6,7)(5,6,11)(5,7,10)(5,8,11)(7,8,9)(7,9,10)(8,9,11)(9,10,11)) • Nombres de Betti et torsions : • [1 ()] • [0 (2 (1))] • [0 ()]
Pistes de recherche • Utiliser ces calculs pour des objet définis à l'aide d'ordres, et de complexes cellulaires • Pb : comment construire la matrice d’incidence “le mieux possible” ? • Adapter pour calculer des groupes d’homologie locaux • Algorithme défini pour un objet statique • Algorithme incrémental pour des objets dont la topologie évolue ?