Calcul des groupes dhomologie dobjets discrets Sylvie Alayrangues
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 ð 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
Définition des groupes d'homologie (1) • 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 (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 • p p+1 = 0 ð Hp(K, G) = Zp(K, G)/Bp(K, G)
2 Exemple • C 0(K) = (1, 2, 3, 4) • C 1(K) = (12, 13, 14, 23, 24, 34) • 1(12)=2 -1 • 1(12+23 -13)=0 • Matrice d’incidence 1 4 3 1 1 2 3 4 12 13 -1 -1 1 0 0 14 -1 0 0 1 23 24 0 0 -1 -1 1 0 0 1 34 0 0 -1 1
Principe du calcul (1) • Hp(K, G) = . . . Zb 1 Zb 2. . . Zbqp = βp Zb 1 Zb 2. . . Zbqp ð b 1, b 2, . . . , bqp sont les facteurs invariants • bi / bj pour tout i et j, tels que i < j ð p est le nombre de betti associé • Calcul de Hp(K, G) = calcul de βp, b 1, b 2, . . . , bqp
Exemple de torsion sur la bouteille de Klein • w = [1, 4]+[4, 5]+[5, 1] • soit s 2 la somme de tous les 2 -simplexes ð s 2= 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 • H 1 Z Z 2 1 2 6 4 5 1 3 7 1 5 8 9 2 10 3 4 1
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+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 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).
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 ()] 1 2 6 4 5 1 3 7 1 5 8 9 2 10 3 4 1
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 ()] 1 2 7 6 5 4 3 8 4 5 9 10 3 11 2 6 1
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 ?
- Slides: 18