La diagonalisation des matrices est à la base du calcul des valeurs propres et vecteurs propres d’une matrice symétrique.
Ce calcul est le noyau central de l’analyse factorielle, qui comprend une famille de techniques de représentation des données dans un espace réduit.
L’objectif de ce module est d’ouvrir au maximum, tout en restant le plus simple possible, cette « boîte noire »…..
Avant d'aller plus loin il convient de connaître les opérations élémentaires nécessaires pour diagonaliser une matrice.
Trois opérations élémentaires permettent en effet de modifier le contenu d'une matrice A tout en gardant la mémoire de ces changements et en permettant de refaire le chemin en sens inverse.
Les matrices associées à ces opérations sont des matrices identités (donc carrées) dont un seul élément est modifié. Elles opèrent les lignes en multiplication par la gauche, et les colonnes en multiplication par la droite.
Ces trois opérations sont:
Remplacement d'un élément de la diagonale par un scalaire, retour à la situation initiale en multipliant par son inverse.
Exemple avec des matrices interactives: les cellules à fond blanc sont interactives: vous pouvez en changer les valeurs, et visualiser le résultat directement dans les cellules à fond gris.
NB: pour valider un changement de valeur: "enter" dans firefox, "tab" dans safari et internet-explorer. Utiliser le point comme symbole décimal.
Remplacement d'un élément de la diagonale par un scalaire, retour à la situation initiale en multipliant par son inverse.
Exemple avec des matrices interactives: les cellules à fond blanc sont interactives: vous pouvez en changer les valeurs, et visualiser le résultat directement dans les cellules à fond gris.
NB: pour valider un changement de valeur: "enter" dans firefox, "tab" dans safari et internet-explorer. Utiliser le point comme symbole décimal.
Permutations des éléments de la diagonale correspondante, retour à la situation initiale en multipliant par la même matrice.
Exemples: en inversant les lignes 2 et 3 de la matrice identité (matrice bleue) vous inversez les lignes 2 et 3 de la matrice de départ.
En encodant 1 0 0 0 en ligne 1, 0 0 0 1 en ligne 2, 0 0 1 0 en ligne 3, et 0 1 0 0 en ligne 4 vous permutez les lignes 2 et 4. Et ainsi de suite.
Exemple avec des matrices interactives: Les cellules à fond blanc sont interactives: Vous pouvez en changer les valeurs, et visualiser le résultat directement dans les cellules à fond gris.
NB: pour valider un changement de valeur: "enter" dans firefox, "tab" dans safari et internet-explorer. Utiliser le point comme symbole décimal.
NB: Pour la matrice à chiffres bleus, le fond n'est blanc que si il y a 1 et 1 seule valeur unitaire sur 1 ligne, en dehors de la diagonale, et que les autres éléments de la ligne sont nuls.
Permutations des éléments de la diagonale correspondante, retour à la situation initiale en multipliant par la même matrice.
Exemple avec des matrices interactives: Les cellules à fond blanc sont interactives: Vous pouvez en changer les valeurs, et visualiser le résultat directement dans les cellules à fond gris.
NB: pour valider un changement de valeur: "enter" dans firefox, "tab" dans safari et internet-explorer. Utiliser le point comme symbole décimal.
NB: Pour la matrice à chiffres bleus, le fond n'est blanc que si il y a 1 et 1 seule valeur unitaire sur 1 ligne, en dehors de la diagonale, et que les autres éléments de la ligne sont nuls.
Exemple de départ: La ligne 4 est multipliée par 3 et additionnée à la ligne 2. Le résultat est stocké en ligne 2.
Exemple avec des matrices interactives: Les cellules à fond blanc sont interactives: Vous pouvez en changer les valeurs, et visualiser le résultat directement dans les cellules à fond gris.
NB: pour valider un changement de valeur: "enter" dans firefox, "tab" dans safari et internet-explorer. Utiliser le point comme symbole décimal.
Cette fois la matrice identité modifiée est placée au-dessus, de manière à ce que la modification s'applique sur une colonne.
Exemple de départ: La colonne 4 est multipliée par 2 et additionnée à la colonne 1. Le résultat est stocké en colonne 1.
Exemple avec des matrices interactives: Les cellules à fond blanc sont interactives: Vous pouvez en changer les valeurs, et visualiser le résultat directement dans les cellules à fond gris.
NB: pour valider un changement de valeur: "enter" dans firefox, "tab" dans safari et internet-explorer. Utiliser le point comme symbole décimal.
Soit TeX Embedding failed! la matrice à diagonaliser, TeX Embedding failed! les matrices d’opérations élémentaires sur les lignes, dans l’ordre de leur exécution et TeX Embedding failed! les matrices d’opérations élémentaires sur les colonnes. La succession des opérations s’écrit de la façon suivante :
TeX Embedding failed! |
Le produit matriciel n’étant pas commutatif, les opérations à gauche se succèdent de droite à gauche et les opérations à droite de gauche à droite.
Le produit matriciel étant associatif, le produit TeX Embedding failed! peut être effectué et stocké dans TeX Embedding failed! , le produit TeX Embedding failed! peut être effectué et stocké dans TeX Embedding failed!, … à l’infini.
Lorsque l’ensemble des opérations élémentaires aboutit à la diagonalisation de TeX Embedding failed!, l’opération peut être réalisée par le produit TeX Embedding failed!
TeX Embedding failed! est une matrice remplie de 0, la diagonale principale comportant r valeurs 1, r étant le rang de la matrice TeX Embedding failed!. Le rang est le nombre de dimensions nécessaires pour représenter TeX Embedding failed! dans l’espace. Si TeX Embedding failed! est carrée (p x p) et de rang complet (non singulière, r = p), la matrice TeX Embedding failed! est la matrice identité p x p.
Par facilité, l’exemple est pris sur une matrice carrée TeX Embedding failed!, mais elle pourrait être rectangulaire.
TeX Embedding failed! |
Opérations élémentaires sur les lignes :
TeX Embedding failed! |
Opérations élémentaires sur les colonnes :
TeX Embedding failed! |
Synthèse :
TeX Embedding failed! |
La matrice TeX Embedding failed! est de rang 1.
Toutes les matrices d’opération élémentaire ayant un inverse, TeX Embedding failed! et TeX Embedding failed! existent, et TeX Embedding failed! ce qui montre que l’historique des changements est bien stocké et que l’opération est réversible.
TeX Embedding failed! |
TeX Embedding failed! |
Opérations élémentaires sur les lignes :
TeX Embedding failed! |
Opérations élémentaires sur les colonnes :
TeX Embedding failed! |
Synthèse :
TeX Embedding failed! |
La matrice TeX Embedding failed! est de rang 2. TeX Embedding failed! étant égale a TeX Embedding failed!, l’opération inverse montre que la matrice TeX Embedding failed! est entièrement stockée dans la matrice TeX Embedding failed!.
TeX Embedding failed! |
Soit TeX Embedding failed! une matrice de corrélation 3 x 3 :
TeX Embedding failed! |
Diagonalisation de TeX Embedding failed! :
TeX Embedding failed! |
La matrice TeX Embedding failed! est de rang complet, TeX Embedding failed! et TeX Embedding failed!
TeX Embedding failed! |
Les solutions de la diagonalisation sont multiples : voici une autre matrice TeX Embedding failed! qui arrive au même résultat. Il y en a beaucoup d’autres.
TeX Embedding failed! |
Il n’est donc pas trivial d’obtenir les vecteurs propres et valeurs propres par la diagonalisation de TeX Embedding failed!. De nombreuses méthodes, itératives et plus ou moins robustes, sont décrites dans la littérature et implémentées (avec plus ou moins de bonheur) dans de nombreux logiciels.
Les valeurs de la matrice TeX Embedding failed! proviennent de la fonction EVD du logiciel R.
TeX Embedding failed! |
La matrice TeX Embedding failed! sera appelée F (pour Factor loadings). Nous retrouvons la propriété générale vue plus haut :
TeX Embedding failed! |
Nous observons à présent une nouvelle propriété :
TeX Embedding failed! |
Le produit TeX Embedding failed! représente la norme des vecteurs sur la diagonale et une valeur fonction de leur cosinus en dehors de la diagonale (voir module 220 : représentation géométrique des vecteurs).
Leur norme est appelée valeur propre ( λi, eigenvalue). L’algorithme a pour objectif de trouver la plus grande valeur propre de la matrice (ici 2,1), puis la plus grande dans une direction orthogonale et ainsi de suite. Nous verrons que chacune d’elle représente une variance : notez déjà que la somme des valeurs propres est égale à 3, soit p, le nombre de variables, ou encore la somme des valeurs diagonales de TeX Embedding failed!, ou encore la somme des variances de 3 variables standardisées qui ont généré les coefficients de corrélation de TeX Embedding failed!.
Les colonnes de TeX Embedding failed! apparaissent indépendantes (cosinus nul, orthogonales, non corrélées). Chacune est appelée vecteur propre (fi, eigenvector). Chaque vecteur définit la direction fi dans l’espace dans laquelle on trouve la variance la plus grande.
Le couple valeur propre – vecteur propre est une véritable curiosité mathématique. Pour chaque couple , la relation suivante est respectée : TeX Embedding failed!
TeX Embedding failed! |
TeX Embedding failed! |
TeX Embedding failed! |
Cette propriété définit le couple valeur propre – vecteur propre d’une matrice.