OKPEDIA PYTHON VETTORI

Come calcolare gli autovettori su Python

Per calcolare gli autovettori su Python si usa la funzione linalg.eig() del modulo NumPy.

linalg.eig(m)

L'argomento m è una matrice.

La funzione linalg.eig() restituisce gli autovalori e gli autovettori della matrice.

Un esempio pratico

Importare il modulo numpy.

import numpy as np

Definire una matrice con la funzione array

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

E' una matrice quadrata

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

Trovare gli autovalori e gli autovettori della matrice con la funzione eig()

autovalori, autovettori = np.linalg.eig(matrix)

Gli autovalori della matrice sono

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

Gli autovettori della matrice sono disposti in colonna

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

Trasporre la matrice degli autovettori

autovettori = np.transpose(autovettori)

Ora gli autovettori della matrice sono disposti in riga

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

Verifica

Calcolare il prodotto tra la matrice e il primo autovettori

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

Calcolare il prodotto tra il primo autovettore e il primo autovalore

>>> autovettori[0]*autovalori[0]
array([3.15432203, 1.30656296])

Il risultato è lo stesso

Calcolare il prodotto tra la matrice e il secondo autovettori

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

Calcolare il prodotto tra il primo autovettore e il secondo autovalore

>>> autovettori[1]*autovalori[1]
array([-0.22417076, 0.5411961 ])

Il risultato è lo stesso

https://how.okpedia.org/it/python/come-calcolare-gli-autovettori-su-python


Segnala un errore o invia un suggerimento per migliorare la pagina


Python


FacebookTwitterLinkedinLinkedin