Bonjour à tous,
J'ai un produit de matrice P = AB qui est définie négative.
J'aimerais en tirer A et B.
Je fais donc:
Ensuite je définis une matrice C à partir de A et B moyennant quelques opérations élémentaires, qui est censée, d'après un théorème, être définie positive (sur papier la démonstration est claire).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [P1, P2, P3] = svd(P); A = P1*sqrtm(P2); B = sqrtm(P2)*P3'
Cependant, je me retrouve avec n valeurs propres négatives (très proches de 0 cependant).
Je tente de les forcer à 0 en redécomposant C:
Mais là je retombe sur des valeurs propres négatives, ou même complexes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [C1, C2, C3] = svd(C); % pour toutes les valeurs propres i négatives: C2(i,i) = 1E-6; % positif C = C1*C2*C3'
Je ne sais pas du tout quoi faire de ces erreurs numériques, valeurs propres négatives, comment feriez-vous?
Merci
Partager