Algèbre (linéaire) et graphes

publicité
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]).
Téléchargement