SVD & Pseudo-inverse
Calculez la decomposition en valeurs singulieres (SVD) et la pseudo-inverse de Moore-Penrose d'une matrice.
Matrice A
SVD et pseudo-inverse de Moore-Penrose : tout ce que vous devez savoir
Pourquoi utiliser la décomposition en valeurs singulières (SVD) ?
La décomposition en valeurs singulières (SVD) est l'un des outils les plus puissants de l'algèbre linéaire numérique. Elle permet de factoriser n'importe quelle matrice réelle ou complexe en trois matrices fondamentales — U, Σ et Vᵀ — révélant ainsi la structure géométrique intrinsèque de la transformation linéaire représentée. Cette factorisation est numériquement stable et s'applique à des matrices rectangulaires de toute forme, sans restriction sur leur rang.
Les valeurs singulières obtenues par la SVD quantifient l'importance relative de chaque composante de la matrice. En conservant uniquement les valeurs singulières les plus grandes et en tronquant les autres, il est possible de produire des approximations de rang réduit de haute qualité. Cette propriété est exploitée dans la compression d'images, la réduction de bruit, et l'analyse en composantes principales (ACP/PCA), où les directions de plus grande variance correspondent aux vecteurs singuliers associés aux valeurs singulières dominantes.
La pseudo-inverse de Moore-Penrose, calculée à partir de la SVD, généralise l'inverse classique aux matrices non carrées et aux matrices singulières. Elle fournit la solution de norme minimale aux systèmes linéaires sur- ou sous-déterminés, ce qui en fait un outil indispensable pour la régression linéaire, le calcul du rang matriciel, la résolution de systèmes inconsistants et la stabilisation numérique des algorithmes d'apprentissage automatique.
Cas d'utilisation courants
- Compression et approximation de matrices
- En tronquant la SVD aux k plus grandes valeurs singulières, on obtient la meilleure approximation de rang k au sens de la norme de Frobenius. Cette technique est utilisée pour compresser des images, des matrices de recommandation ou des embeddings de grande dimension tout en préservant l'essentiel de l'information utile.
- Analyse en composantes principales (PCA)
- La SVD est au cœur de l'ACP : les vecteurs singuliers gauches de la matrice centrée correspondent aux composantes principales, et les valeurs singulières au carré sont proportionnelles à la variance expliquée par chaque axe. Cela permet de réduire la dimensionnalité de jeux de données volumineux tout en maximisant la variance retenue.
- Résolution de systèmes linéaires et régression
- La pseudo-inverse de Moore-Penrose, dérivée directement de la SVD, permet de résoudre les moindres carrés linéaires même lorsque la matrice est singulière ou mal conditionnée. Elle est employée dans les modèles de régression, les systèmes d'équations surdéterminés et le calcul de solutions de norme minimale.
- Calcul du rang et analyse de la structure matricielle
- Le rang numérique d'une matrice est déterminé en comptant les valeurs singulières significativement supérieures à zéro, ce qui est bien plus robuste que les méthodes basées sur la réduction par élimination. Cette approche est utilisée pour détecter la redondance dans des systèmes de mesure, vérifier la dépendance linéaire de variables et analyser la stabilité de systèmes dynamiques.
Comment fonctionne cet outil SVD et pseudo-inverse ?
Saisissez votre matrice en entrant les valeurs ligne par ligne, séparées par des espaces ou des virgules. L'outil accepte des matrices rectangulaires de dimensions arbitraires, avec des coefficients réels entiers ou décimaux.
L'algorithme effectue la décomposition en valeurs singulières complète en calculant les matrices U, Σ (valeurs singulières sur la diagonale) et Vᵀ. Le rang numérique de la matrice est déterminé à partir d'un seuil de tolérance adaptatif appliqué aux valeurs singulières.
La pseudo-inverse de Moore-Penrose est ensuite construite à partir de la SVD en inversant les valeurs singulières non nulles et en recomposant la matrice résultante. Les résultats — matrices U, Σ, Vᵀ, pseudo-inverse et rang — sont affichés avec une précision numérique élevée, prêts à être copiés ou utilisés directement.
Questions fréquentes
- Quelle est la différence entre la SVD complète et la SVD tronquée ?
- La SVD complète factorise une matrice m×n en matrices U (m×m), Σ (m×n) et Vᵀ (n×n). La SVD tronquée (ou économique) ne conserve que les k premières colonnes de U, les k premières valeurs singulières et les k premières lignes de Vᵀ, ce qui suffit pour reconstruire une approximation de rang k. La SVD tronquée est beaucoup plus efficace en mémoire pour les grandes matrices et est celle utilisée dans la plupart des applications pratiques de compression et de PCA.
- Qu'est-ce que la pseudo-inverse de Moore-Penrose et à quoi sert-elle ?
- La pseudo-inverse de Moore-Penrose d'une matrice A, notée A⁺, est la généralisation de l'inverse matriciel classique aux matrices non carrées et aux matrices singulières. Elle permet de calculer la solution de moindres carrés de norme minimale du système Ax = b, même lorsque ce système est inconsistant ou que A n'est pas de rang plein. Elle est fondamentale en régression linéaire, en traitement du signal et dans les algorithmes d'apprentissage automatique.
- Comment les valeurs singulières permettent-elles de mesurer le conditionnement d'une matrice ?
- Le nombre de condition d'une matrice est défini comme le rapport entre sa plus grande et sa plus petite valeur singulière non nulle. Un nombre de condition élevé indique que la matrice est mal conditionnée : de petites perturbations dans les données d'entrée peuvent entraîner de grandes variations dans la solution. La SVD offre ainsi un diagnostic précis de la stabilité numérique d'un système linéaire et guide le choix de régularisation approprié.
- Peut-on utiliser cet outil pour des matrices de grande taille ?
- Oui, l'outil est conçu pour traiter des matrices de taille raisonnable directement dans le navigateur, sans limite imposée sur les dimensions. Pour des matrices très grandes (par exemple plusieurs centaines de lignes et colonnes), le calcul peut prendre quelques secondes selon les performances du matériel. Pour des matrices massives en production, des bibliothèques optimisées comme LAPACK, NumPy ou PyTorch sont recommandées, mais cet outil reste idéal pour l'apprentissage, la vérification rapide et le prototypage.
- Mes données personnelles sont-elles protégées ?
- Entièrement. Le calcul est réalisé à 100 % côté client, directement dans votre navigateur web. Aucune donnée personnelle n'est envoyée vers un serveur distant ni stockée. Toutes les informations restent sur votre appareil.