Cómo calcular los vectores propios en Python

Para calcular los vectores propios (eigenvectores o autovectores) en Python, use la función linalg.eig() del módulo NumPy.

linalg.eig(m)

El parámetro m es una matriz.

La función linalg.eig () devuelve los autovalores y autovectores de la matriz.

Un ejemplo practico

Importe el módulo numpy.

import numpy as np

Definir una matriz con la función array().

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

Es una matriz cuadrada

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

Calcule los autovalores y autovectores de la matriz con la función eig()

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

Los valores propios de la matriz son

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

Los vectores propios de la matriz están organizados en columnas.

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

Transponer la matriz de autovectores

autovettori = np.transpose(autovettori)

Ahora los autovectores de la matriz están ordenados en una fila.

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

Verificar

Calcule el producto entre la matriz y el primer vector propio

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

Calcule el producto entre el primer vector propio y el primer valor propio

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

El resultado es el mismo

Calcule el producto de la matriz y el segundo vector propio

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

Calcule el producto del primer vector propio y el segundo valor propio

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

El resultado es el mismo.

Por tanto, el cálculo es correcto.

https://how.okpedia.org/es/python/como-calcular-los-vectores-propios-en-python


Infórmanos de un error o envíanos una sugerencia para mejorar esta página


Python


FacebookTwitterLinkedinLinkedin