Autovalores y autovectores con lenguaje R

Las matrices simétricas con coeficientes reales pueden recomponerse simplemente multiplicando la matriz de autovectores por su matriz de autovalores y ésta, a su vez, por la transpuesta de la matriz de autovectores. Este tipo de matrices y sus operaciones son importantes porque aparecen con frecuencia en el análisis estadístico multivariado. Para probar lo anterior vamos a utilizar el intérprete de R; que para Windows lo pueden bajar de aquí:

http://cran.r-project.org/bin/windows/base/

y, una vez instalado, pueden invocar el programa haciendo click en el acceso directo que se crea en el escritorio.

La matriz simétrica que usaremos es:

1 2 3
2 1 4
3 4 1 

y la guardaremos en el objeto a. El comando:

a<- matrix(data=0, 3,  3)

permite crear una matriz con todos sus elementos iguales a cero y el comando:

data.entry(a)   [Enter]

permite editarla con los valores respectivos de la matriz simétrica.

Para producir los autovalores y autovectores del objeto a en el objeto b:

b<- eigen(a)   [Enter]

Para extraer el arreglo de autovalores del objeto a en el objeto c:

c<- b[[ 1 ]]   [Enter]  #Arreglo de autovalores

Para crear la matriz de autovalores en el objeto d:

d <- matrix(data=0, 3, 3)   [Enter]
for(i in  1:3) d[i,i] <-c[i]   [Enter]

Para extraer la matriz de autovectores del objeto b en el objeto e:

e<- b[[2]]   [Enter]

Para recomponer la matriz original en el objeto f (es decir, f = a):

f  <- e %*% d %*% t(e)   [Enter]

El resultado será nuevamente:

1 2 3
2 1 4
3 4 1 

Para visualizar, individualmente, cada uno de los objetos (a, b, c, d, e, f), sólo hay que tipear la letra correspondiente seguida de la tecla [ENTER]. Para salir del interprete:

q()   [Enter]

Tan sencillo como en MatLab ó en una hoja de cálculo (aunque esta última no permite el cálculo de autovalores y autovectores).

Para comenzar con R, pueden hacerlo con este excelente pdf introductorio:

http://cran.r-project.org/doc/contrib/rdebuts_es.pdf

Esta entrada fue publicada en Lenguaje R. Guarda el enlace permanente.

3 respuestas a Autovalores y autovectores con lenguaje R

  1. Antoni Ferri dijo:

    Hola,

    He visto que sabes programar en R. Estoy intentando generar matrices de correlación aleatorias. Necesito generar, por ejemplo 1000. Como puede conseguir esto? es decir, matrices que cumplan que son semidefinidas positivas.

    saludos.

  2. Pingback: Instalar R (lenguaje estadístico) en SuSE 10.2 |

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s