Según Wikipedia, los eigenvectores son los vectores no nulos que, cuando son transformados por el operador, dan lugar a un múltiplo escalar de sí mismos, con lo que no cambian su dirección. Este escalar λ recibe el nombre de eigenvalor.
Dada una matriz M de dimensión n x n.
Un escalar λ es un eigenvalor de M si existe un vector no nulo \(\overline{x}\) de forma que \(A\overline{x} = λ\overline{x}\). Este vector \(\overline{x}\) es llamado un eigenvector de A con respecto a λ.
Además, si λ es eigenvalor de A, y \(\overline{x}\) es un eigenvector con respecto a λ, cualquier múltiplo distinto de \(0\) de \(\overline{x}\) será un eigenvector.
En el video que pongo como referencia se explica bien los pasos para calcular los eigenvectores y eigenvalores de una matriz.
Son los siguientes:
Dada una matriz A de dimensión n x n.
1 - Multiplica a la matriz identidad de dimensión n x n el scalar λ
2 - A la matriz A réstale la matriz identidad anterior
3 - Encuentra el determinante de la matriz de la diferencia anterior
4 - Encuentra los valores de λ que satisfacen la ecuación: \(det(A - λI) = \overline{0}\)
5 - Encuentra el vector correspondiente para cada λ
Pongamos un ejemplo de cómo realizar esto:
Veamos ahora como podemos hacer esto mismo con un lenjuage de programación.
Utilizo Ruby porque es mi lenguaje preferido, pero estoy seguro de que tenemos alternativas en otros lenguajes.
Dada la matriz anterior, podremos sacar los eigenvectores y eigenvalores de la siguiente forma:
require 'matrix'
matrix = Matrix[[3, 2], [3, -2]]
eigen_system = matrix.eigen
eigenvalues = eigen_system.eigenvalues # => [4.0, -3.0]
eigenvectors = eigen_system.eigenvectors