|
Autovalores y autovectores de una matriz real simétrica: rotación de Jacobi
Publicado el: 05-27-2007 @ 10:41 am
En la estadística multivariada existe, en algunos casos, la necesidad de determinar los autovalores y autovectores de una matriz real simétrica; cuyos elementos (en ambos casos) son también números reales. Aunque existen varios algoritmos para esto, se va a emplear el procedimiento de la rotación de Jacobi para determinar la matriz de autovectores y el arreglo de autovalores para la siguiente matriz simétrica: 1 2 3 2 1 4 3 4 1
Se elaboró un pequeño programa en C++ que emplea una subrutina con el procedimiento de la rotación de Jacobi (jacobi.h) y que se encuentra empaquetado en: http://blogel.espaciolinux.info/wp-content/archivos/zeka/JACOBI.zip Una vez desempaquetada la carpeta que contiene el archivo de datos y el código fuente, hay que abrir una cónsola para que en dicha carpeta compilemos el programa con: g++ jacobi.c++ -o jacobi La ejecución del mismo (./jacobi [Enter]) produce esta salida: Imprime la matriz de origen
1 2 3 2 1 4 3 4 1
Imprime la matriz de autovectores
0.824038 0.505785 -0.255232 -0.544925 0.584374 -0.601302 -0.154979 0.634577 0.757161
Imprime el arreglo de autovalores
-0.886791 7.07467 -3.18788
La verificación de que los arreglos anteriores son válidos se puede obtener en una hoja de cálculo. La matriz de autovectores multiplicada por la matriz de autovalores y el resultado, a su vez, multiplicado por la transpuesta de la matriz de autovectores debe reproducir la matriz original. Este proceso se encuentra reseñado en la siguiente imagen que se tomó a partir de una hoja de cálculo: 
La multiplicación de matrices en una hoja de cálculo se encuentra reseñada brevemente en este documento: Como usar OpenOffice.org Calc para multiplicar e invertir matrices
Ultima actualización el 04-01-2008 @ 08:26 am
|