M314 - Graphes et algèbre - Algèbre (linéaire) et graphes 1 Algèbre (linéaire) et graphes des questions, commentaires, coquilles? adressez-vous à: [email protected] 16 octobre 2007 Je ne connais malheureusement pas les ouvrages en français qui parlent de théorie spectrale (ou algébrique) des graphes. Ce résumé est basé sur les livres suivants : D. West, “Introduction to Graph Theory” ; N. Biggs, “Algebraic Graph Theory” ; D. Cvetkovič, M. Doob et H. Sachs, “Spectra of Graphs : Theory and Applications”. On utilisera souvent des résultats d’algèbre linéaire. Sur ce sujet les livres sont inépuisables, vous en trouverez certainement un de votre goût. Quelques notations : ñ = {1, 2, . . . , n − 1, n}, Idn est la matrice identité de taille n × n (parfois n sera sous-entendu), Jnm dénote la matrice n × m dont tous les coefficients sont des 1. 1 Le pourquoi de l’algèbre en graphes. Définition 1.1: Un morphisme f du graphe G1 = (X1 ,U1 ) vers G2 = (X2 ,U2 ) est une fonction f : X1 → X2 telle que la l’application f¯ induite sur les arêtes par f¯((a, b)) = ( f (a), f (b)) ∈ X2 × X2 soit d’image contenue dans U2 , i.e. f¯(U1 ) ⊂ U2 . Lorsque f est bijective et que f¯(U1 ) = U2 on dit que f est un isomorphisme. La relation donnée par G1 RG G2 ⇔ G1 et G2 sont isomorphes est une relation d’équivalence. En effet, lorsque f est injective, f¯ est injective ( f¯[a, b] = f¯[c, d] ⇒ f (a) = f (c) et f (b) = f (d)). Demander que f est bijective et f¯ surjective, revient donc à demander que f et f¯ soient bijectives. Ainsi, deux graphes G1 = (X1 ,U1 ) et G2 = (X2 , E2 ) sont isomorphes par f si et seulement si f est bijective et (a, b) ∈ U1 ⇔ ( f (a), f (b)) ∈ U2 . Autrement dit, en changeant les noms des sommets, G1 et G2 sont le même graphe, les relations de voisinages étant les mêmes. RG a vraiment pour sens de dire que deux graphes sont les mêmes. Les graphes dans la même classe d’équivalence auront exactement les mêmes propriétés. Remarque 1.2: Un isomorphisme d’un graphe avec lui-même est appelé un automorphisme, ou plus communément une symétrie, du graphe. Les automorphismes forment un groupe. Les graphes possèdant des groupes d’automorphismes non-triviaux ont aussi des propriétés intéressantes, mais on se restreindra ici à l’algèbre linéaire dans les graphes, voir C. Godsil et G. Royle “Algebraic Graph Theory” pour des informations supplémentaires sur ce sujet. Il est un autre objet qui concentre tout ce qu’est un graphe, c’àd. des points et une notion d’adjacence, c’est la matrice d’adjacence. On rappelle que pour un graphe G = (X ,U ) et une bijection τ : X → ñ, la matrice d’adjacence Aτ (G) est une matrice de taille n × n où |X | = n. On définit son facteur ai j par ai j = ( 1 si (τ−1 (i), τ−1 ( j)) ∈ E 0 si (τ−1 (i), τ−1 ( j)) ∈ / E. Cette matrice contient toute l’information du graphe, seul le choix de la bijection τ n’est pas canonique. Remarque 1.3: Lorsqu’on ne se restreint pas aux graphes simples (qui ont au plus une arête entre deux sommets), il est nécessaire d’introduire la matrice d’incidence pour décrire complètement un graphe, on la décrira ultérieurement. 2 On dénote l’ensemble des permutations sur n éléments par Sn := {σ : ñ → ñ|σ est bijective}. La composition forme une loi de groupe sur cet ensemble, avec pour identité, l’identité Id : i 7→ i. On peut associer une matrice Pσ à σ ∈ Sn : pour la base usuelle ei de Rn , elle est définie par Pσ ei = eσ(i) . Cette matrice Pσ est de déterminant ±1 (par définition du déterminant c’est le signe de σ en fait) et elle n’a qu’une seule entrée non-nulle (qui est égale à 1) sur chaque ligne et chaque colonne. Proposition 1.4: Soit G1 et G2 deux graphes, alors leurs matrices d’adjacences sont conjuguées par une permutation. Démonstration. Lorsqu’on a un isomorphisme f : G1 → G2 , et si τi : Xi → ñ, où i = 1, 2, sont les bijections utilisées dans l’écriture des matrices d’adjacences des graphes, alors u := τ2 ◦ f ◦ τ−1 1 : ñ → ñ est la permutation qui de la numérotation des sommets de X1 à celle des sommets des X2 . Intuitivement, comme les graphes sont les mêmes, elle fait correspondre deux numérotations d’un même graphe. Écrivons Aτi (Gi ) = Ai , on prétend que A1 = Pu−1 A2 Pu . Soit ei les vecteurs formant la base standard de Rn . Alors ( −1 n 1 si [τ−1 1 ( j), τ1 (i)] ∈ E1 A1 ei = ∑ g j e j où g j = 0 sinon j=1 D’autre part Pu−1 A2 Pu ei = Pu−1 A2 eu(i) = n ∑ f j e j où f j = j=1 n n j=1 j=1 ( −1 1 si [τ−1 2 ( j), τ2 (u(i))] ∈ E2 0 sinon n Or Pu−1 ∑ f j e j = ∑ f j eu−1 ( j) . On réordonne en posant j = u(l) pour avoir Pu−1 A2 Pu ei = ∑ fu(l) e j . On a l=1 fu(l) = ( −1 1 si [τ−1 2 (u(l)), τ2 (u(i))] ∈ E2 0 sinon −1 Cependant, τ−1 2 ◦ u = f ◦ τ1 , d’où −1 −1 [τ2−1 (u(l)), τ−1 2 (u(i))] ∈ E2 ⇔ [ f ◦ τ1 (l), f ◦ τ1 (i)] ∈ E2 −1 ⇔ [τ−1 1 (l), τ1 (i)] ∈ E1 , car f est un isomorphisme. On remarque alors que gl = fu(l) , donc que les matrices sont bien les mêmes. Ainsi les matrices d’adjacences (à conjugaison par une permutation près) représentent complètement un graphe (à isomorphisme près). Or il est une autre donnée qui décrit à permutation près une matrice : ses vecteurs propres (généralisés) et ses valeurs propres. 2 Polynôme caractéristique et graphes partiels. Définition 2.1: Pour une matrice A de taille n × n, on définit le polynôme caractéristique de A par φ(A, λ) = Det(λId − A) = ∏(λ − λi )mi , λi 6= λ j . Son degré est n. Les racines λi de ce polynôme sont les valeurs propres, et leur multiplicité algébrique est leur multiplicité mi en tant que racines de ce polynôme. Ces données forment le (m ) (m ) (m ) spectre de A et s’écrira SpecA = {λ1 1 , λ2 2 , . . . , λk k } Un vecteur propre vi pour la valeur propre λi de A est un vecteur tel que Avi = λi vi . La multiplicité géométrique de λi est la dimension de son espace de vecteurs propres. Rappel 2.2: Deux vecteurs propres de valeurs propres différentes sont linéairement indépendants. Lorsque A est symétrique, deux vecteurs propres de valeurs propres différentes sont orthogonaux. Lorsqu’une matrice A de taille n × n a n vecteurs propres linéairement indépendants, alors Ak a les mêmes vecteurs propres vi de valeurs propres λki . M314 - Graphes et algèbre - Algèbre (linéaire) et graphes 3 Démonstration. Soit v1 et v2 deux vecteurs propres de valeurs propres λ1 6= λ2 . Si v1 = kv2 pour k un scalaire, alors λ1 v1 = Av1 = Akv2 = kAv2 = kλ2 v2 = λ2 v2 et donc λ1 = λ2 . Si par surcroît A est symétrique, alors λ1 v†1 v2 = (Av1 )† v2 = v†1 A† v2 = v†1 Av2 = v1 †λ2 v2 = λ2 v†1 v2 . Comme λ1 6= λ2 il faut que v†1 v2 = 0. Une matrice a au plus n vecteurs propres différents. Soit A (pas forcément symétrique) une telle matrice, soient v1 , . . . vn ses vecteurs propres, et soient λ1 , . . . , λn ses valeurs propres. Alors Ak vi = Ak−1 Avi = Ak−1 λi vi = λi Ak−1 vi = · · · = λki vi . Ainsi Ak a les mêmes vecteurs propres (puisqu’on lui en a trouve n on les a tous déterminés) et leur valeurs propres sont λki On raccourcira fréquemment φ(A(G), λ) = φ(G, λ). La différence entre multiplicité géométrique et multiplicité algébrique complique souvent les choses et nécessite l’introduction des vecteurs propres généralisés. Il est des cas où ce n’est pas nécessaire : Exemple 2.3: Soit Zn le circuit d’ordre n (le graphe orienté où les n sommets sont disposés sur un cercle et relié à leur successeur dans le sens horaire), sa matrice d’adjacence est λ −1 0 ··· 0 0 0 1 0 ··· 0 0 0 0 1 ··· 0 0 0 0 0 ··· 0 0 A(Zn ) = .. .. .. ... 0 λ −1 ··· 0 0 ··· 0 0 0 0 λ .. .. et λId − A(Zn ) = ... ... ... .. 0 0 0 ··· 0 1 1 0 0 ··· 0 0 0 0 −1 0 .. .. . . 0 ··· λ −1 0 ··· 0 λ Pour calculer le déterminant de λId − A(Zn ) on fait l’expansion sur la première colonne. Le cofacteur du coefficient en haut à gauche est le déterminant d’un matrice diagonale, tout comme celui du coefficient en bas à gauche. On √ trouve que Det(λId − A(Zn )) = λn − 1. Les valeurs propres sont donc λk = e2πik/n où k ∈ ñ et i = −1. Elles sont toutes distinctes, ainsi, exceptionellement pour une matrice non-symétrique, il y a n vecteurs propres linéairement indépendants. Exemple 2.4: Soit Cn le cycle d’ordre n (le graphe non-orienté où les n sommets sont disposés sur un cercle et reliés à leur successeur et leur antécédent). On rappelle que le spectre du circuit permet d’obtenir celui du cycle : la matrice cycle d’ordre n s’obtient de celle du circuit en rajoutant un arc dans le sens inverse. Or A(Zn )k compte le nombre de chemins de longeur k. Un chemin de longueur n − 1 dans Zn relie chaque sommet à son prédécesseur, d’où A(Cn ) = A(Zn ) + A(Zn )n−1 . Comme A(Zn )n−1 partage les vecteurs propres de A(Zn ) il en va de même pour A(Cn ) : 2πik/n +e2πik(n−1)/n )vk = (e2πik/n +e−2πik/n )vk = 2 cos(2πk/n)vi A(Cn )vk = A(Zn )vk +A(Zn )n−1 vk = (λk +λn−1 k )vk = (e Ainsi Spec(Cn ) est l’ensemble des 2 cos(2πk/n). Lorsque n est pair ces valeurs propres sont toutes de multiplicité 2, excepté −2 et 2 qui sont de multiplicité 1. Si n est impair, elles sont toutes de multiplicité 2 sauf la valeur propre 2 (de multiplicité 1). Nous nous restreindrons dorénavant aux graphes non-orientés (voir D. Cvetkovič, M. Doob et H. Sachs, “Spectra of Graphs : Theory and Applications” pour le cas orienté) car Rappel 2.5: (Théorème spectral) Soit A une matrice symétrique de taille n × n, alors les valeurs propres sont réelles, et la multiplicité algébrique et géométrique d’une valeur propre sont identiques, i.e. A possède n vecteurs propres orthogonaux. Idée de la démonstration. Il s’agit d’une preuve par récurrence, elle est ici décrite dans sa forme algorithmique. Une matrice A a toujours au moins un vecteur propre. Soit v1 , ce premier vecteur propre et soit λ1 sa valeur propre. Soit U1 la matrice dont la première colonne est v1 et les autres colonnes choisies de sorte que U1†U1 = Id (c’àd. U est une matrice unitaire). Soit T1 = U1−1 AU1 . La première colonne de T1 est (λ1 , 0, . . . , 0). On regarde ensuite A1 la matrice (n − 1) × (n − 1) constituée de T1 privée de sa première ligne et colonne. On répète ce processus pour obtenir une 4 matrice (n−1)×(n−1), T2 = U2−1 A1U2 dont la première colonne est (λ1 , 0, . . . , 0) et A2 une matrice (n−2)×(n−2). Si on note Uk′ = Id0 U0k une matrice n × n obtenue de Uk en complétant par l’identité, alors U2′−1U1′−1 AU1′ U2′ n’a que des 0 sous la diagonale sur ses deux premières colonnes. En poursuivant, on a que B = Un′−1 · · ·U1′−1 AU1′ · · ·Un′ est triangulaire supérieure. De plus, puisque A† = A et Uk′† = Uk′−1 , on a que B† = B. Donc B est une matrice diagonale et le produit U1′ · · ·Un′ est la matrice (orthogonale puisque son adjointe est son inverse) de ses vecteurs propres. Lorsqu’on listera les valeurs propres réelles d’une matrice symétrique n × n comme λ1 ≥ λ2 ≥ . . . ≥ λn on sousentend que certaines peuvent être égales (le nombre de valeurs propres égales donne la multiplicité). Si on écrit λ1 > λ2 > . . . > λk , alors on veut que les valeurs propres λi soit distinctes. Les vecteurs propres peuvent se “dessiner” sur un graphe de la façon suivante. Associer à chaque sommet une valeur est essentiellement décrire un vecteur v à l’identification par τ près ; appelons vx la valeur au sommet x. v sera un vecteur propre de la matrice d’adjacence A(G) si pour tout sommet x la somme de la valeur du vecteur sur les voisins de x est λvx , i.e. ∑ vy = λvx . Voici deux vecteurs propres, le premier (de valeur propre 1) sur le graphe de y∈N(x) Peterson et le second (de valeur propre 0) sur le 4-cycle. 0 1 0 −1 −1 1 0 1 0 −1 1 0 −1 0 Rappelons aussi que le rang d’une matrice A de taille n × n (par définition, le rang est la dimension de l’image de A) est égal à n moins la mutliplicité (géométrique) de la valeur propre nulle. Lorsqu’il n’y a pas de nuance entre multiplicité géométrique et algébrique (e.g. quand A est symétrique ou qu’elle possède n vecteurs propres linéairement indépendants), le rang est aussi la somme des multiplicités des valeurs propres non-nulles. Soit S ⊂ ñ, A|S la matrice obtenue de A en retirant toutes ses ièmes colonnes et lignes lorsque i ∈ / S. On appelle mineurs de A les déterminants des matrices A|S . Remarque 2.6: Si on choisit une identification τ : X → ñ, le graphe induit par Y ⊂ X a pour matrice d’adjacence A(X )|τ(Y ) . Pour alléger la notation, τ sera désorais implicite, ou alternativement, X sera toujours supposé comme étant ñ pour n ∈ Z>0 . En se servant du développement d’un déterminant par ses cofacteurs on a que n Rappel 2.7: Écrivons φ(A, λ) = ∑ ci λn−i . Alors c0 = 1 et lorsque i > 0, ci = (−1)i ∑ DetA|S . i=1 |S |=i Ceci a plusieurs conséquences intéressantes : n Proposition 2.8: Soit G un graphe non-orienté, écrivons φ(A(G), λ) = ∑ ci λn−i . Alors c1 = 0, c2 = − |E | et −c3 i=1 est deux fois le nombre de triangles. Comme c1 = − ∑ mi λi = 0, on voit entre autres qu’il y a toujours des valeurs propres négatives. Démonstration. Lorsque |S | = 1, l’expression A|S est le ième coefficient de la diagonale où S = {i}. −c1 est en fait ce qu’on appelle la trace de la matrice. Comme les graphes sont supposés sans boucles, ces coefficients sont tous 0, et leur somme aussi. Lorsque |S | = 2, c’àd. S = {i, j}, A|S est la matrice nulle si les sommets i et j ne sont pas reliés, et A|S = 01 10 M314 - Graphes et algèbre - Algèbre (linéaire) et graphes s’ils sont adjacents. Pour chaque arête, on a donc une contribution de −1 à c2 . Finalement, lorsque |S | = 3, il y a six mineurs possibles : 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 , 1 0 0 , 0 0 1 , 1 0 1 , 1 0 0 et 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 5 Seulement le dernier a un déterminant non-nul ; il vaut 2. Comme il correspond à la présence d’un triangle, la conclusion s’effectue grâce au rappel 2.7. Exemple 2.9: Soit Kn,m le graphe biparti complet (c’àd. n sommets non-adjacents tous reliés à m sommets non 0 Jn,m adjacents). Sa matrice d’adjacence prend la forme A(Kn,m ) = Jm,n 0 , où Jm,n est la matrice m × n dont toutes les entrées sont égales à 1. Son rang est 2, et comme la somme des valeurs propres donne 0, ses deux valeurs propres nonnulles sont opposées : disons c et −c. Le polynôme caractéristique s’écrit donc comme φ(Kn,m , λ) = λN − c2 λN−2 , où √ (1) √ (1) N = n + m. Or −c2 est le nombre d’arêtes, soit mn. Le spectre est donc SpecA(Kn,m ) = ( mn , 0(N−2) , − mn ). Les arguments de la proposition 2.8 s’étendent à des ensembles de plus grande cardinalité, et ils permettent parfois de calculer plus rapidement φ(G, λ) que de passer directement par le calcul du déterminant. On rappelle qu’un graphe H de G = (X , E) est partiel (on dit aussi que c’est un sous-graphe couvrant) si les sommets de H sont les mêmes que G, i.e. H = (X , E ′ ) où E ′ ⊂ E. Théorème 2.10: (Harary, 1962) Soit H l’ensemble des sous-graphes couvrants de G = (X , E) tels que chaque composante connexe est un cycle élémentaire ou une arête. Soit Cc(H) le nombre de composantes connexes de H et Cy(H) le nombre de composantes connexes qui sont des cycles. Alors DetA(G) = ∑ (−1)|X |−Cc(H) 2Cy(H) H∈H On obtient sans trop de mal que n Corollaire 2.11: (Sachs, 1967) Soit G un graphe non-orienté, écrivons φ(A(G), λ) = ∑ ci λn−i . Soit Hi l’ensemble i=1 des sous-graphes à i sommets dont les composantes connexes sont des cycles ou des arêtes. Alors, ci = ∑ (−1)Cc(H) 2Cy(H) . H∈Hi Démonstration. Grâce à 2.7, on exprime les coefficients en fonction des mineurs. Effectivement, la sous-matrice principale A|S n’est rien d’autre que la matrice de graphe induit par S, cf. remarque 2.6. On utilise alors le théorème 2.10 pour calculer les mineurs. La preuve du théorème 2.10 requiert qu’on se penche un peu plus sur les permutations. Lorsque σ n’est pas l’identité, une écriture très commode pour σ est sa décomposition en orbites (ou cycles). Soit i ∈ ñ, et regardons la suite donnée par (i, σ(i), σ ◦σ(i), σ ◦σ ◦σ(i), . . .). On raccourcira la notation en écrivant ◦n σ la fonction obtenue en composant n fois σ avec elle-même, par convention σ◦0 = Id. D’autre part, comme σ est ◦n une bijection, elle est inversible, et notons σ◦(−1) = σ−1 et σ◦(−n) = σ−1 . Alors pour tout n, m ∈ Z, σ◦m et σ◦n sont définies et σ◦m ◦ σ◦n = σ◦(m+n) Avec ceci, montrons que la suite {σ◦n (i)}n≥0 est constitué de valeurs qui se répètent toutes périodiquement. La suite (σ◦n (i))n≥0 finit forcément par reprendre une valeur, disons j, car elle est infinie et ne peut prendre qu’un nombre fini de valeur. Soit j la première valeur qui réapparaît une deuxième fois (on comprendra plus tard ′ que ce n’est autre que j). Soit n < n′ les deux plus petits entiers tels que j = σ◦n (i) = σ◦n (i). Comme σ est une ′ bijection, elle-même et ses itérées sont inversibles. Ainsi i = σ◦(n −n) (i) est bien la première valeur à réappaître une ′ deuxième fois (car n′ − n < n′ ). De plus, on peut réitérer par σ◦k pour obtenir σ◦k (i) = σ◦(k+n −n) (i). Ainsi la suite {σ◦n (i)} est bien périodique. 6 Notons l = n′ − n la longueur de l’orbite de i, alors {σ◦n (i)}0≤n≤l−1 ne prend que des valeurs différentes. Ceci est du au fait que i est la première valeur à réapparaître. De plus, si k fait partie de cette suite, alors pour un n0 ∈ N, σ◦(−n0 ) (k) = i. Ainsi σ◦n (k) prendra les mêmes valeurs que σ◦n (i) et dans le même ordre, avec un décalage. De la sorte, si on dit que deux orbites qui ne sont que décalées sont les mêmes, on voit que l’ensemble des orbites distinctes décrit complètement la permutation. Voici quelques exemples pour clarifier un peu les choses. Exemple 2.12: La permutation P1 ∈ S5 qui s’écrit en orbites (1)(23)(45) envoie 1 7→ 1, 2 7→ 3, 3 7→ 2, 4 7→ 5, et 5 7→ 4. On voit que P1 ◦ P1 = Id. Si P2 = (123)(45), elle envoie 1 7→ 2, 2 7→ 3, 3 7→ 1, 4 7→ 5, et 5 7→ 4. P2 ◦ P2 = (132)(4)(5), et P1 ◦ P2 = (13)(2)(4)(5). Le plus souvent on ignore les orbites de taille un, i.e. les points fixes de σ, dans l’écriture en orbites. Dans l’exemple ci-haut on noterai davantage : P1 = (23)(45), P2 ◦ P2 = (132) et P1 ◦ P2 = (13). Le signe d’une permutation, noté Sgn(σ), est (−1)Cypair (σ) où Cypair (σ) est le nombre d’orbites pairs dans la décomposition en orbites de σ, ou (−1)t(σ) , où t(σ) est le nombre de permutations composée d’un simple échange Pi = (ab) nécessaire pour écrire σ = P1 ◦ P2 ◦ . . . ◦ Pt(σ) (ces deux quantités étant égales...). Exemple 2.13: Pour justifier l’équivalence des deux définitions, on remarque que (12) ◦ (23) = (123), (12) ◦ (23) ◦ (34) = (1234), ... Démonstration du théorème 2.10. La formule du déterminant est DetA = ∑ Sgn(σ) ∏ ai,σ(i) . Comme A est une σ∈Sn i∈ñ matrice remplie de 0 et de 1, les seules contributions non-nulles sont les produits de 1. Il faut donc que les sommets associés à i et σ(i) soient adjacents pour tout i. En écrivant σ en orbites, on voit que cela correspond au fait que les points dans les orbites de σ sont aussi dans des cycles de G. Une permutation qui donne une contribution non-nulle donne lieu à un sous-graphe couvrant Hσ dont les composantes sont des cycles ou des arêtes. Reste à en déterminer le signe et le nombre. Pour le signe, on décompose en cas : si |X | est pair, le nombre d’orbites impairs est pair, donc Sgn(σ) = (−1)|X |−Cc(Hσ ) ; si |X | est impair, le nombre d’orbites impairs est impair, et on a encore Sgn(σ) = (−1)|X |−Cc(Hσ ) . Pour le nombre, chaque cycle de G de longueur supérieure à 3 peut s’écrire comme deux orbites différents puisqu’il y a deux sens de parcours possibles. Le nombre de permutations σ qui donne lieu au même Hσ est donc 2Cy(σ) . Exemple 2.14: Il existe des graphes de même spectre qui ne sont pas isomorphes. Effectivement, pour que deux matrices symétriques soient identiques il faut que leurs valeurs propres et les espaces propres associés soient les mêmes. G1 et G2 ci-dessous sont deux graphes non-isomorphes dont les polynômes caractéristiques sont identiques. Ils ont tous les deux le même nombre d’arêtes, et ils sont sans triangles. Pour G1 comme pour G2 le H5 est vide. Le G1 G2 H4 est vide pour G2 , cependant dans G1 il y a un cycle d’ordre 4 et deux paires d’arêtes (les arêtes opposées dans ce cycle). Comme les deux paires d’arêtes contribuent pour +1 chacune et le cycle pour −2, le coefficient c4 est tout de même nul dans φ(G2 , λ). Les deux graphes ont donc λ5 − 4λ3 comme polynôme caractéristique. Deux autres rappels important d’algèbre linéaires permettent d’obtenir une autre propriété des valeurs propres du graphe. Rappel 2.15: (Théorème des entrelacements) Soit A une matrice symétrique réelle n × n de valeurs propres λ1 ≥ λ2 ≥ . . . ≥ λn , et A|S une de ses sous-matrices principales, |S | = m, de valeurs propres µ1 ≥ µ2 ≥ . . . ≥ µm . Alors λn−m+i ≤ µi ≤ λi . M314 - Graphes et algèbre - Algèbre (linéaire) et graphes 7 Justification géométrique. Si on se restreint au cas des matrices qui n’ont que des valeurs propres positives (une telle matrice est dite définie positive), l’ensemble EA = {x† Ax|x† x = 1} est un ellipsoïde dont les axes principaux sont les vecteurs propres de A (comme A est symétrique il y a bien n vecteurs propres orthogonaux). La longueur de l’axe −1/2 associé au veteur propre vi de valeur propre λi est λi . Se restreindre à une sous-matrice de A correspond à se restreindre à un plan de coordonnées. On obtient alors un nouvel ellipsoïde dont la longueur des axes principaux est encadrée par celle des axes de EA . Notez que les matrices d’adjacence de graphes ne sont jamais définies positives, cet argument est donc simplement une intuition géométrique. Soit G un graphe, on notera par λMax (G) la valeur propre maximale de A(G) et λmin la valeur propre minimale de A(G). Le théorème des entrelacements donne en particulier que Corollaire 2.16: Soit G un graphe, soit H un sous-graphe induit de G, λmin (G) ≤ λmin (H) ≤ λMax (H) ≤ λMax (G). Un dernier rappel avant de s’intéresser aux propriétés plus particulières des graphes. Rappel 2.17: Soit A une matrice symétrique réelle, la fonction R(x) = x† Ax définite pour les vecteurs x de norme 1 ( i.e. ∑ x2i = 1) atteint son minimum et son maximum sur les vecteurs propres de A. Le minimum est la plus petite valeur propre de A et le maximum la plus grande. Démonstration. On démontre grâce au multiplicateurs de Langrange : on veut minimises R(x) avec la contrainte g(x) = x† x − 1 = 0. On calcule pour xi la ième coordonnée de x : dxdi (x† Ax − λx† x) = ∑ j (ai j x j + a ji x j ) − 2λxi = 2(∑ j ai j x j ) − 2λxi . Poser que les dérivées sont nulles pour tout i revient à demander que 2Ax − 2λx = 0, c’àd. que x est un vecteur propre. Notons le degré minimal δ(G) = mind(x) et le degré maximal ∆(G) = maxd(x). x∈X x∈X Proposition 2.18: Pour tout graphe G, δ(G) ≤ λMax (G) ≤ ∆(G). Démonstration. Pour un graphe G = (X , E), on rappelle que N(x) = {y ∈ X |[x, y] ∈ E}. Soit v un vecteur propre de A(G) de valeur propre λ et soit v j = maxxi sa plus grande coordonnée, alors i λv j = (Av) j = ∑ xi ∈N(x j ) a ji vi ≤ d(x j )v j ≤ ∆(G)v j . Pour la borne inférieur on appliquee le rappel 2.17, au vecteur unité v′ dont toutes les coordonnées sont égales à √ 1/ n, où n = |X |. En se rappelant que les somme des coefficients de la matrice A(G) est |E | on obtient λMax (G) ≥ v′† Av′ = 2 |E | 1 . ai j = ∑ n i, j n On conclut en appliquant le théorème des poignées de mains : 2 |E | = ∑ d(x) ≥ nδ(G). x∈X En réalité, on a montré que λMax (G) est comprise entre le degré maximal et le degré moyen 1 |X | ∑ d(x). x∈X 8 3 Valeurs propres et propriétés du graphe. Le théorème de Cayley-Hamilton dit que si on évalue le polynôme caractéristique en sa matrice, on obtient la matrice nulle : φ(A, A) = ∏(A−λi )mi = 0. Lorsque les vecteurs propres sont tous distincts cette preuve est très simple. Si on appelle polynôme minimal de A, noté ψ(A, x), le polynôme qui est de degré minimal parmi les polynômes unitaires p(x) tels que p(A) = 0. (Un polynôme est unitaire si son terme de plus haut degré est de coefficient 1.) Notez que le polynôme minimal de A doit diviser tout polynôme qui s’annule en A (sinon le reste serait un polynôme de degré inférieur qui s’annule en A). k Rappel 3.1: Si A possède n vecteurs propres orthogonaux et k valeurs propres distinctes, ψ(A, x) = ∏ (x − λi ). i=1 Démonstration. Tout vecteur v se décompose en une somme des vecteurs propres v j . Comme les puissances de A k commutent, on voit que ∏ (A − λi)v j = 0, car v j est associé à une valeur propre, disons λ j , et (A − λ j )v j = 0. Donc i=1 ψ(A, A) = 0. Si le polynôme minimal était de degré inférieur, il serait constitué d’un produit partiel des (x − λi ). Mais si le facteur (x − λ j ) est absent un vecteur propre associé à λ j ne s’annule pas sur ce polynôme. Notons que si on regarde l’espace vectoriel engendré par les puissances de A (A0 = Id, A1 = A, A2 , . . .), le degré du polynôme minimal est la dimension de cet espace vectoriel (qui est en fait une algèbre puisqu’il y a une notion de produit). On a alors comme corollaire surprenant : Proposition 3.2: Soit Diam(G) le diamètre de G, alors A(G) au moins DiamG + 1 valeurs propres distinctes. Démonstration. Soient x et y des sommets qui réalisent le diamètre, i.e. DiamG = d(x, y) =: d. Soit P une chaîne de longueur d reliant x à y, c’àd. P = [x = s0 , s1 , . . . , sd = y]. Pour chaque i ∈ d˜ il y une chaîne de longueur i qui relie s0 et si . Ainsi Ai a un coefficient non-nul dans la colonne du sommet s0 et la ligne du sommet si tandis que pour A0 , A1 , A2 , . . . , et Ai−1 il est nul. Autrement dit, Ai est linéairement indépendant de {A0 , A1 , A2 , . . . , Ai−1 }. Prendre i = d permet de conclure que le degré du polynôme minimal est au moins d + 1. Comme le degré du polynôme minimal est le nombre de valeurs propres disctinctes, on arrive à la conclusion. Une autre conséquence simple et étonnante est que les graphes bipartis se caractérisent complètement par la distribution de leurs valeurs propres : Lemme 3.3: Si G est biparti et λ une valeur propre de A(G) de multiplicité m, alors −λ est aussi une valeur propre de même multiplicité. Démonstration. Ajouter des sommets isolés (de degrés 0) à G = (X , E), correspond à ajouter des lignes et colonnes de 0 dans A(G). Cette opération ne change pas le rang de la matrice d’adjacence, ça ne fait qu’augmenter la multiplicité de la valeur propre 0. On supposera donc que les deux ensembles de la bipartition, disons X1 et X2 , sont de même cardinal. Comme G est biparti sa matrice d’adjacence s’écrit A(G) = B0† B0 , où B est carré (puisqu’on suppose |X1 | = |X2 |). Soit v = xy un vecteur propre (décomposé en fonction de la bipartition) de valeur propre λ. Par définition, λv = d’où By = λx et B† x = λy. Soit v′ = ′ x −y , Av = 0 B B† 0 ! x By = , y B† x on calcule 0 B B† 0 ! x −By x = = −λ , † −y B x −y M314 - Graphes et algèbre - Algèbre (linéaire) et graphes 9 autrement dit v′ est un vecteur propre de valeur propre −λ. Ainsi à tout ensemble de j veteurs propres de valeur propre λ correspond un ensemble de j vecteurs propres de valeur propre = λ. Théorème 3.4: Soit G un graphe, λi les valeurs propres de son graphe. Les assertions suivantes sont équivalentes. (a) G est biparti. (b) Les valeurs propres de G se trient en paires λi , λ j de même multiplicité telles que λi = −λ j . (c) φ(G, λ) = P(λ2 )λε où P est un polynôme unitaire de degré n−ε 2 et ε = 0 ou 1. k = 0 pour tout entier t ≥ 1. (d) ∑ mi λ2t−1 i i=1 Démonstration. Dans le lemme 3.3 on démontre (a) ⇒ (b). (b) ⇔ (c) provient du fait que (λ − λi )(λ − λ j ) = λ2 − c si et seulement si λi = −λ j . Comme φ(A(G), λ) est un produit de facteurs linéaires (en λ), les valeurs propres viennent en pairs si et seulement si le polynôme se factorise en facteurs linéaires en λ2 . (b) ⇒ (d) Si les valeurs viennent en paires opposées, leurs puissances impaires viennent aussi en paires opposées. La somme est donc nulle. (d) ⇒ (a) Pour le voir, il faut remarquer les valeurs propres de A2t−1 sont λ2t−1 . De plus, 2.7 nous dit que le i coefficient −c1 est la trace de la matrice. C’est aussi aussi la somme de ses valeurs propres (comme on le voit en k . Or les coefficients dans Ai donnent le développant le produit des λ − λi). Conséquemment, trA2t−1 = − ∑ mi λ2t−1 i i=1 nombre de chemins entre les sommets. Comme les coefficient de Ai sont tous positifs, la trA2t−1 = 0 implique que tous les éléments de la diagonale sont nuls dans A2t−1 . Il n’y a donc aucun cycle impair. Ceci implique que G est biparti (exercice). 4 Graphes réguliers et graphes des arêtes Les valeurs propres témoignent aussi de la régularité : Théorème 4.1: A(G) admet ∆(G) comme valeur propre si et seulement si une composante connexe de G est ∆(G)régulière, i.e. si cette composante est regulière et tous ses sommets ont degré maximal. La multiplicité de cette valeur propre correspond au nombre de composantes connexes ∆(G)-régulières. Démonstration. Si G est k-régulier et v = (1, 1, . . . , 1)† le vecteur dont tous les coefficients valent 1, alors A(G)v est le vecteur donné par la somme des lignes de A, soit (Av)i = d(xi ) = k d’où Av = kv. Ainsi si G pour chaque composante connexe k-régulière de G, le vecteur qui vaut 1 pour chaque sommet de cette composante et 0 ailleurs est un vecteur propre de valeur propre k. Soit maintenant v un vecteur propre de A(G), et soit v j sa coordonnée la plus grande en valeur absolue parmi celles appartenant à une composante connexe H de G. Alors, comme pour la démonstration de la proposition 2.18 |λ | v j = (Av) j = ∑ vi ≤ d(x j ) v j ≤ ∆(G) v j . x ∈N(x ) i j L’égalité n’est vérifiée que si d(x j ) = ∆(G) et vi = v j (sans les valeurs absolues : deux sommets voisins dont le facteur associé du vecteur sont opposés se compensent en appliquant A au lieu de s’additionner) pour tout xi ∈ N(x j ). Cependant si, pour xi ∈ N(x j ) les vi sont de même valeur, alors on peut réitérer l’argument sur ces sommets. On parvient ainsi à avoir que tous les sommets de la composante connexe de x j (c’àd. H) sont de degrés ∆(G). Ainsi, un vecteur propre a valeur propre ∆(G) seulement si chaque composante où il est non-nulle est ∆(G)-régulière. Comme cette constante peut-être choisie indépendamment sur chaque composante, on obtient la conclusion. 10 Lorsque G est connexe et régulier, on sait donc que k est une valeur propre. Ḡ est lui aussi régulier, chaque sommet est de degré |X | − k − 1. Ce qui est plus surprenant, c’est que toutes les valeurs propres de Ḡ s’expriment à partir de celle de G. Lemme 4.2: φ(A(Ḡ), λ) = (−1)n Det[(−λ − 1)Id − A(G) + J] Démonstration. Il suffit de remarquer que A(Ḡ) = J − Id − A(G). Puis Det(λId − A(Ḡ)) = Det((λ + 1)Id + A(G) − J) = (−1)n Det((−λ − 1)Id − A(G) + J). Théorème 4.3: Si G est k-régulier, alors les vecteurs propres de A(G) et A(Ḡ) sont les mêmes. De plus, le vecteur dont tous les coefficients sont 1 a valeurs propres k dans G et n − k − 1 dans Ḡ. Si v est un autre vecteur propre de A(G) et λ est sa valeur propre, alors v a pour valeur propre −1 − λ pour A(Ḡ). Démonstration. On a déjà déterminé que le vecteur (1, 1, . . . , 1)† , est un vecteur propre des graphes réguliers et que sa valeur propre est la régularité. Si v est un autre vecteur propre de A(G) et λ sa valeur propre, par orthogonalité (1, 1, . . . , 1) · v = ∑ vi = 0. En particulier, Jv = 0. Ainsi A(Ḡ)v = (J − Id − A(G))v = −v − λv = (−1 − λ)v, autrement dit v est un vecteur propre de valeur propre −1 − λ. Ceci donne une autre borne inférieure pour la valeur de λmin (G) lorsque G est régulier : Corollaire 4.4: Si G est k-régulier alors λmin (G) ≥ k − n. Démonstration. Si les valeurs propres associées à G sont k ≥ λ2 ≥ . . . ≥ λn = λmin (G), alors celles de Ḡ sont n − k − 1 ≥ −1 − λn ≥ . . . ≥ −1 − λ2 . Dans un graphe régulier, même la stabilité peut se minorer à l’aide des valeurs propres.Soit une partition de A1,1 A1,2 X = X1 ∪ X2 , et la matrice de G = (X , E) écrit en fonction de cette partition comme A† A2,2 , où Ai, j est de taille 1,2 |Xi | × X j . Soit pour toute matrice C = (ci j ) la somme de ses coefficients s(C) = ∑ci j = (1, . . . , 1)C(1, . . . , 1)† . Soit i, j d1,1 d1,2 finalement D = d2,1 d2,2 défini par di, j = s(Ai, j )/ X j . En particulier di,i est le degré moyen du graphe induit par Xi . Notez que D n’est pas symétrique si |X1 | = 6 |X2 |. Lemme 4.5: ∀v ∈ R2 , λmin (A(G))kvk2 ≤ v† Dv ≤ λMax (A(G))kvk2 . De plus, si D possède des valeurs propres réelles, disons µ1 (D) ≥ µ2 (D), alors λmin (A(G)) ≤ µ2 (D) ≤ µ1 (D) ≤ λMax (A(G)) En particulier, si ces valeurs propres sont de signes opposées, alors |µ2 (D) | µ1 (D) ≤ |λmin (A(G)) | λMax (A(G). Démonstration. Pour la première inégalité, il s’agit d’algèbre linéaire qui utilise le rappel 2.17 : si v = (x, y)† poser u p p le vecteur dont les |X1 | premières coordonnées sont x/ |X1 |, et les autres y/ |X2 |, et constater que v† Dv = u† Au et u† u = v† v. La seconde en découle (pourvu que D possède des valeurs propres réelles, comme D n’est pas symétrique ce n’est pas toujours le cas) en utilisant les vecteurs propres de D dans la première. La dernière est une simple conséquence de la seconde. Théorème 4.6: Soit G un graphe k-régulier d’ordre n, alors α(G) ≤ n |λmin (G) | k + |λmin (G) | M314 - Graphes et algèbre - Algèbre (linéaire) et graphes 11 Démonstration. D’abord, λMax (G) = k grâce au théorème 4.1. Pour la partition formée par un ensemble stable 0 kα/(n−α) (c’àd. non-adjacent) maximal et son complémentaire on a D = k d2,2 . Le polynôme caractéristique de D est −k2 α(G) n−α(G) < 0. Les valeurs propres sont 2 k α(G) n−α(G) ≤ |λmin (G)|k. On isole α(G) pour k α(G) a deux racines réelles. De plus, µ1 (D)µ2 (D) = DetD = λ2 − d2,2 λ − n−α(G) 2 ainsi de signes opposés, et d’après la proposisition précédente on obtient : conclure. Pour étudier le graphe des arêtes, il faut introduire la matrice d’incidence de G = (X , E), notée B(G). Pour la définir il faut deux bijections τ : X → ñ et τ′ : E → m̃. B(G) est un matrice n × m définie par Bτ,τ′ (G)i j = ( 1 si τ−1 (i) est une extrémité de τ′−1 ( j) 0 sinon (Les τ et τ′ resteront implicites désormais ; on peut aussi vérifier que deux graphes isomorphes ont des matrices d’incidences qui diffèrent par des permutations.) On rappelle que le graphes des arêtes L(G) = (X ′ , E ′ ) de G = (X , E) est définie par X ′ = E et E ′ = {(a, b) ∈ E × E|a et b ont une extrémité commune}. Lemme 4.7: B(G)† B(G) = A(L(G)) + 2Idm . Si G est k-régulier, B(G)B(G)† = A(G) + kIdn . Démonstration. Identifions temporairement i et j à deux arêtes (i, j ∈ m̃), un calcul direct donne que (B(G)† B(G))i j = n ∑ (B(G))li (B(G))l j , autrement dit le nombre de sommets communs aux arêtes i et j. l=1 m Si on identifie maintenant i et j à deux sommets d’un graphe k-régulier (i, j ∈ ñ), on a d’autre part (B(G)B(G)† )i j = ∑ (B(G))il (B(G)) jl est le nombre d’arêtes entre i et j si i 6= j et le degré de i = j sinon. l=1 Rappel 4.8: Une matrice est dite définie semi-positive si v† Av ≥ 0, pour tout vecteur v. Si elle est symétrique, on en conclut facilement que ses valeurs propres sont alors positives ou nulles. Démonstration. Pour un vecteur propre 0 ≤ v† Av = λkvk2 ⇒ λ ≥ 0. Proposition 4.9: λmin (L(G)) ≥ −2. Si G = (X , E), et |E | > |X | alors λmin (L(G)) = −2. Démonstration. La matrice B(G)† B(G) est définie semi-positive puisque v† B(G)† B(G)v = kB(G)vk2 ≥ 0 ; ses valeurs propres sont toutes positives ou nulles. Comme A(L(G)) = B(G)† B(G) − 2Idm ses valeurs propres ne peuvent êtres inférieures à −2. Si m = |E | > |X | = n, alors la matrice B(G) possède nécessairement un noyau, c’àd. un vecteur v tel que B(G)v = 0. Ce même vecteur est un vecteur propre de valeur propre −2 pour A(L(G)). Cette condition n’est malheureusement pas suffisante pour classifier les graphes des arêtes, cependant les graphes possédant la propriété que λmin (G) ≥ −2 sont maintenant tous connus. Lorsque G est k-régulier, L(G) est (2k − 2)-régulier (à chaque extrémité d’une arête il y a k − 1 autres arêtes) ; ceci donne un lien entre les valeurs propres maximales. Cependant les formules du lemme 4.7 permettent de montrer que la régularité contraint beaucoup plus les valeurs propres. Effectivement : Théorème 4.10: (Sachs, 1967) Si G est k-régulier d’ordre n, et possède (conséquemment) m = 12 nk arêtes, alors φ(L(G), λ) = (λ + 2)m−n φ(G, λ + 2 − k) 12 Démonstration. On allège les notations comme suit : A := A(G), L = A(L(G)) et B = B(G). On utilise deux matrices (n + m) × (n + m) auxiliaires : ! ! λIdn −B Idn B U= et V = 0 Idm B† λIdm Alors UV = λIdn − BB† 0 † B λIdm ! et VU = λIdn 0 † λB λIdm − B† B ! Puisque Det(UV ) = Det(VU ) on obtient λm Det(λIdn − BB† ) = λn Det(λIdm − B† B). D’où φ(L(G), λ) = Det(λIdm − L) = Det((λ + 2)Idm − B† B) = (λ + 2)m−n Det((λ + 2)Idn − BB†) = (λ + 2)m−n Det((λ + 2 − k)Idn − A) = (λ + 2)m−n φ(G, λ + 2 − k) (m ) (m ) Corollaire 4.11: Soit G = (X , E) un graphe connexe k-régulier, k > 1, et soit Spec(G) = (k(1) , λ2 2 , . . . , λn n ) alors k SpecL(G) = ((2k − 2)(1) , (k − 2 + λ2 )(m2 ) , . . . , (k − 2 + λn )(mn ) , −2(n[ 2 −1]) ), où n = |X | et mi est la multiplicité de λi . Le cas du graphe connexe 1-régulier (c’est une arête) est exclu puisque son graphe linéaire est le graphe d’ordre 1 sans arêtes ; la matrice d’adjacence est (0) et le spectre est identiquement nul. Remarquons d’autre part que le corollaire indique qu’un graphe connexe 2-régulier a le même spectre que son graphe des arêtes. Ceci est cohérent puisqu’un graphe connexe 2-régulier est un cycle, et qu’il est ainsi isomorphe à son graphe des arêtes. Si vous avez des questions (sur les TD, le cours ou la vie), n’hésitez pas à passer me voir de 16h à 18h les mardis à mon bureau (Salle 227, bâtiment 440), à m’accrocher après un TD ou un cours, ou à m’envoyer un courriel ([email protected]).