sábado, 17 de septiembre de 2016

Octave: autovalores, autovectores y diagonalización

En Octave podemos calcular los autovalores y autovectores de una matriz A.

Tomemos la siguiente matriz A de orden 2x2.

A=[2 1;1 2]

Escribimos la expresión:

[P,D]=eig(A)

Donde D es la matriz diagonal. En la diagonal principal de la matriz D se encuentran los autovalores.


Donde P es la matriz de paso que contiene en columna los autovectores asociados a cada uno de los autovalores anteriores, respetando el orden. El primer vector columna de P se corresponde con el autovector asociado al primer autovalor que contiene la diagonal principal de la matriz D.


Vemos que la matriz diagonal D tiene en su diagonal principal los valores 1 y 3 que son los dos autovalores reales de la matriz A.

La matriz P tiene un primer autovector asociado al autovalor \(\lambda_1 = 1\) que es:
\[ \left( \begin{array}{r} -0.70711 \\ 0.70711 \end{array} \right) \] La matriz P tiene un segundo autovector asociado al autovalor \(\lambda_2 = 3\) que es:
\[ \left( \begin{array}{r} 0.70711 \\ 0.70711 \end{array} \right) \] Si calculamos los autovectores de forma manual obtendríamos que el autovector asociado a \(\lambda_1 = 1\) es: \[ \left( \begin{array}{r} -1 \\ 1 \end{array} \right) \] Y el autovector asociado a \(\lambda_2 = 3\) y calculado de forma manual resultaría: \[ \left( \begin{array}{r} 1 \\ 1 \end{array} \right) \] Entonces, ¿por qué Octave no nos proporciona los mismos autovectores que los que obtendríamos nosotros de forma manual?

La respuesta es que dado un autovalor existen infinitos autovectores asociados.
Para el autovalor  \(\lambda_2 = 3\)  veamos cómo obtenemos manualmente su autovector asociado.
\begin{equation*} \left( \begin{array}{cc} 2 & 1 \\ 1 & 2 \end{array} \right) \left( \begin{array}{c} x \\ y \end{array} \right) =3 \left( \begin{array}{c} x \\ y \end{array} \right) \Rightarrow x=y \end{equation*} Por tanto \begin{equation*} V(3)= \left\{t \left( \begin{array}{c} 1 \\ 1 \end{array} \right) , t \in \mathbb R \right\} \end{equation*} Esto quiere decir que existen infinitos autovectores asociados a \(\lambda_2 = 3\), tantos como valores demos al parámetro \(t\). Por ejemplo, el vector (5 5) también es un autovector asociado a \(\lambda_2\).
Ante una infinita variedad de posibles autovectores asociados a un cierto autovalor, Octave elige uno de ellos que se forma usando la norma del vector.

En el siguiente enlace se puede ver qué es la normalización vectorial:



Para el autovalor \(\lambda_2 = 3\) Octave elige el siguiente autovector:
\[ \left( \begin{array}{r} \dfrac{1}{\sqrt{1^2+1^2}} \\ \dfrac{1}{\sqrt{1^2+1^2}} \end{array} \right) = \left( \begin{array}{r} \dfrac{1}{\sqrt{2}} \\ \dfrac{1}{\sqrt{2}} \end{array} \right) = \left( \begin{array}{r} 0.70711 \\ 0.70711 \end{array} \right) \] Por tanto, lo que hace Octave es normalizar el vector de forma que el autovector que nos proporciona es el vector normalizado.

Otro ejemplo

Dada la matriz A de orden 3x3:

A=[1 2 0;0 2 0;-2 -2 -1]

Podemos calcular manualmente sus autovalores y sus autovectores.
Los autovalores son:
  1. \(\lambda_1 = -1\)
  2. \(\lambda_2 = 1\)
  3. \(\lambda_3 = 3\)
La matriz diagonal D se forma colocando estos autovalores en su diagonal principal.
\[ D= \left( \begin{array}{rrr} -1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{array} \right) \]
La matriz de paso P se forma con los autovectores asociados a cada uno de los autovalores anteriores, respetando el orden.

  • El primer vector columna es el autovector asociado a \(\lambda_1 \)
  • El segundo vector columna es el autovector asociado al autovalor \(\lambda_2 \)
  • El tercer vector columna es el autovector asociado al autovalor \(\lambda_3 \)
\[ P= \left( \begin{array}{rrr} 0 & 1 & 2 \\ 0 & 0 & 1 \\ 1 & -1 & -2 \end{array} \right) \]

Veamos el resultado con Octave.

[P,D]=eig(A)
Vemos que la matriz D es la misma que hemos obtenido a mano, y que la matriz P está formada por los mismos vectores que los que obtuvimos de forma manual pero normalizados.

Veamos el caso para \(\lambda_3 = 2\).
\[ \left( \begin{array}{r} \dfrac{2}{\sqrt{2^2+1^2+(-2)^2}} \\ \dfrac{1}{\sqrt{2^2+1^2+(-2)^2}} \\ \dfrac{-2}{\sqrt{2^2+1^2+(-2)^2}} \end{array} \right) = \left( \begin{array}{r} \dfrac{2}{\sqrt{9}} \\ \dfrac{1}{\sqrt{9}} \\ \dfrac{-2}{\sqrt{9}} \end{array} \right) = \left( \begin{array}{r} 2/3 \\ 1/3 \\ -2/3 \end{array} \right) = \left( \begin{array}{r} 0.66667 \\ 0.33333 \\ -0.66667 \end{array} \right) \]

Matriz A elevada a la n-ésima potencia: An

Sabemos que si la matriz A es diagonalizable se puede expresar en función de las matrices D (diagonal) y P (matriz de paso).

\[ A=PDP^{-1} \]
Si elevamos la matriz A a la n-ésima potencia se puede expresar de la siguiente forma: \[ A^n=PD^nP^{-1} \]
 Con Octave podemos calcular, por ejemplo, A5.


También podemos calcular A5 directamente y así comprobamos resultados.


1 comentario:

Unknown dijo...

Hola! Como puedo ver que tipo de método utiliza octave con la función eig?

Publicar un comentario