let Les eigenvalues de M, renvoyés par m code> est le classement, son seul non-zéro eigenvalue est 1 (sa trace). Toutefois,
np.linalg.norm (m, ord = 2) code> retourne 1.39 qui est strictement supérieur à 1. Pourquoi? P>
NP. linalg.eigvals code> sont 1, 0, 0, mais les valeurs singulières de m sont 1,39, 0, 0, qui est une surprise pour moi. Qu'est-ce que j'ai manqué? P> p>
3 Réponses :
deuxième norme d'une matrice la racine carrée de la somme de tous les éléments carrés pour obtenir la relation entre les valeurs de l'EIGEN et les valeurs singulières dont vous avez besoin pour calculer les valeurs propres de m ^ Hm et carré root It p>
Comme dans l'autre réponse, la norme 2 n'est pas la norme Frobenius: vérifiez sur A = np.diag ([1, 2, 3.15]) code>
en.wikipedia.org/wiki/matrix_norm , une seconde norme d'une matrice est la norme Frobenius. Frobenius Norm = Element-Wise 2-Norm Code>
@ALYHOSNY ELEMENT-WISE 2-NORM n'est pas la matrice 2-NORM. La 2-norme et Frobenius coïncident si et seulement si m a rang inférieur ou égal à 1 (ce qui est en effet le cas ici).
Dans ce cas particulier, la 2-norme de en particulier on peut prouver que la norme 2-NORM est la racine carrée de la plus grande valeur propre de MT @ M CODE> IE P> M code> coïncide avec la norme FROBENIUS, qui est donnée par la formule
(np.sum (np.abs (m ** 2)) ) ** (1/2) code>, nous pouvons donc voir que:
np.sqrt(np.linalg.eigvals(M.T@M)[0]) == np.sqrt(np.sum(np.diag(M.T@M))) == np.linalg.svd(M)[1][0]
True
Je crois que ce n'est pas vrai, la norme 2 n'est pas la norme Frobenius. Vérifiez sur a = np.diag ([1, 2, 3.15]) code>.
@ P.camilleri Dans ce cas particulier, ils coïncident depuis que m est le rang 1. Je me suis mal exprimé
@ P.camilleri Avez-vous donné une photo à la version modifiée de la poste?
Ceci est parfaitement normal. Dans le cas général, les valeurs singulières ne sont pas égales aux valeurs de l'EIGEN. Ceci est vrai uniquement pour les matrices hermitiques positives.
Pour les matrices carrées, vous avez la relation suivante: p>