Exercice 14
1 ) - Ecrire un programme sympy qui permet de calculer les valeurs propres et les vecteurs propres de la matrice sympy suivante:
2) - Sans utiliser la méthode is_diagonalizable(), dites si la matrice A est diagonalisable ou non?
Solution
1) - Nous allons utiliser la méthode eigenvects() qui fournit les valeurs et vecteurs propres en même temps:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
from sympy import Matrix A = Matrix([[2, 2, -2], [0, 1, 1], [0, -2, 4] ]) print(A.eigenvects()) """ affiche [(2, 2, [Matrix([[1], [0], [0]]), Matrix([[0], [1], [1]])]), (3, 1, [Matrix([[ -1], [1/2], [1]])] )] """ |
2) - L'algorithme précédent montre que la matrice A possède trois vecteurs propres sous forme de matrices colonnes:
1 2 3 |
U = [Matrix([[1],[0],[0]]) V = [Matrix([[0],[1],[1]]) W = [Matrix([[-1],[1/2],[1]]) |
Calculons maintenant leur déterminant:
1 2 3 4 5 6 7 8 |
from sympy import Matrix D = Matrix([[1 , 0 , 0], [0 , 1 , 1], [-1, 1/2, 1] ]) print(D.det()) #affiche: 0.50 |
Le détarminant est 0.5, ce qui montre que les vecteurs U, V et W sont linéairement indépendant et comme nous travaillons dans un espace de dimension 3, l'espace R3 est somme directe des sous espaces propres R3 = RU + RV + RW ce qui prouve que la matrice A est diagonalisable.
Younes Derfoufi
CRMEF OUJDA
1 thought on “Solution Exercice 14: diagonalisation d'une matrice sympy”