Mathematica diagonalisation de la matrice

Je suis en train d'étudier une matrice A telle que A=PDP^-1.

La façon dont je résoudre ce à l'aide de Mathematica est:

a={{0, -1}, { -1, 0}}
d = DiagonalMatrix[Eigenvalues[a]]
{{ -1,0}, {0,1}}
p = Transpose[Eigenvectors[a]]

p.d.Inverse[p]
{{0, -1}, { -1, 0}}

Ce qui est correct.

Problème, c'est le P de la matrice n'est pas ce que j'attendais. La matrice que Mathematica produit est

p={{1, -1}, {1, 1}}

Mais je suis à la recherche d'

p2={{1/Sqrt[2], 1/Sqrt[2]}, {1/Sqrt[2], -(1/Sqrt[2])}}
p2.d.Inverse[p2]
{{0,-1}, { -1,0}}

Qui a également résout l'équation. Est-il un moyen pour moi de force Mathematica pour me montrer les différentes réponses données lors de l'exécution de Transposer[Vecteurs propres[a]]?

OriginalL'auteur CHM | 2012-01-14