OKPEDIA PYTHON VECTEUR

Calculer les vecteurs propres en Python

Pour calculer les vecteurs propres sur Python, utilisez la fonction linalg.eig() du module NumPy.

linalg.eig(m)

Le paramètre m est une matrice.

La fonction linalg.eig() renvoie les valeurs propres et vecteurs propres de la matrice.

Un exemple pratique

Importez le module numpy.

import numpy as np

Définition d'un tableau avec la fonction array

matrix = np.array([[3,1],[1,1]])

C'est une matrice carrée

$$ matrix = \begin{pmatrix} 3 & 1 \\ 1 & 1 \end{pmatrix} $$

Trouver les valeurs propres et les vecteurs propres de la matrice avec la fonction eig()

valp, vecp = np.linalg.eig(matrix)

Les valeurs propres de la matrice sont

>>> valp
array([3.41421356, 0.58578644])

Les vecteurs propres de la matrice sont disposés en colonne

>>> vecp
array([[ 0.92387953, -0.38268343],
[ 0.38268343, 0.92387953]])

Transposer la matrice des vecteurs propres

vecp = np.transpose(vecp)

Maintenant, les vecteurs propres de la matrice sont disposés en ligne

array([[ 0.92387953, 0.38268343],
[-0.38268343, 0.92387953]])

Vérifier

Calculer le produit entre la matrice et le premier vecteur propre

>>> np.dot(matrix,vecp[0])
array([3.15432203, 1.30656296])

Calculer le produit entre le premier vecteur propre et la première valeur propre

>>> vecp[0]*valp[0]
array([3.15432203, 1.30656296])

Le résultat est le même

Calculer le produit de la matrice et du deuxième vecteur propre

>>> np.dot(matrix,vecp[1])
array([-0.22417076, 0.5411961 ])

Calculer le produit du premier vecteur propre et de la deuxième valeur propre

>>> vecp[1]*valp[1]
array([-0.22417076, 0.5411961 ])

Le résultat est le même.

Le calcul est donc correct.

https://how.okpedia.org/fr/python/comment-calculer-les-vecteurs-propres-en-python


Signalez une erreur ou partagez une suggestion pour améliorer cette page


Python


FacebookTwitterLinkedinLinkedin