Mathc matrices/e12a
Matrices avec plus de lignes que de colonnes, ou matrices carrés (svd)
modifierPetits problèmes de signes voir en fin de page.
SVD décomposition :
Matrices n+R0 x n (matrices carrées):
- Matrice n+R0 x n
- S = U_T * B * V (valeurs singulières)
- B = U * S * V_T
- P = V * invS_T * U_T (SVD : PseudoInverse)
- P = V * invS_T * U_T (PseudoInverse)
Matrices n+R2 x n :
- Matrice n+R2 x n
- S = U_T * B * V (valeurs singulières)
- B = U * S * V_T
- P = V * invS_T * U_T (SVD : PseudoInverse)
- P = V * invS_T * U_T (PseudoInverse)
Corrections manuelles des signes des vecteurs singuliers
modifier
Ma version SVD permet de calculer les pseudo inverses droit et gauche. Elle a cependant des problèmes de signes sur les vecteurs U et V. Il y a une inversion de signe entre mon travail et celui proposer par octave.
Je ne peux pas corriger ce bug actuellement. J'ai cherché une méthode pour résoudre ce problème. J'en ai trouvé une qui fonctionne sur les matrices dans lesquels je choisit les données.
Je vous présente cette méthode ci-dessous :
Matrices carrées:
Matrices R > C:
Étude de quelques propriétés
modifier
Calculons les U*UT et V*VT :