les vecteurs propres créée par numpy.linalg.gie ne semblent pas correctes
- Je créer un arbitraire matrice 2x2:
In [87]: mymat = np.matrix([[2,4],[5,3]])
In [88]: mymat
Out[88]:
matrix([[2, 4],
[5, 3]])
Je cherche à calculer les vecteurs propres utilisation de numpy.linalg.gie:
In [91]: np.linalg.eig(mymat)
Out[91]:
(array([-2., 7.]),
matrix([[-0.70710678, -0.62469505],
[ 0.70710678, -0.78086881]]))
In [92]: eigvec = np.linalg.eig(mymat)[1][0].T
In [93]: eigvec
Out[93]:
matrix([[-0.70710678],
[-0.62469505]])
Je multiplie un de mes vecteurs propres avec mon matrice attend le résultat d'un vecteur par un scalaire multiple de mon vecteur propre.
In [94]: mymat * eigvec
Out[94]:
matrix([[-3.91299375],
[-5.40961905]])
Cependant, il n'est pas. Quelqu'un peut-il m'expliquer ce qui ne va pas ici?
OriginalL'auteur Selah | 2015-10-03
Vous devez vous connecter pour publier un commentaire.
À partir de la documentation pour
linalg.gie
:Vous voulez, les colonnes, pas les lignes.
OriginalL'auteur DSM
Non, c'est vrai. numpy ne fonctionne pas correctement. Exemple:
OriginalL'auteur user2908112