Professional Documents
Culture Documents
Objetivos
- Hallar los valores propios y vectores propios de matrices no singulares y cuadradas
mediante métodos iterativos.
- Entender y utilizar los conceptos de valores propios y vectores propios para recrear
algoritmos que permitan hallar el vector propio del mayor valor propio, del menor valor
propio y de cualquier valor propio de posición intermedia.
- Hallar el coeficiente de Rayleigh para hallar los valores propios de cada vector
encontrado por cada método.
Marco teórico
Antes de empezar, es necesario dar una introducción sobre los valores propios y vectores
propios de una matriz. En primer lugar, los vectores propios, autovectores o eigenvectores de
una matriz cuadra, son los vectores no nulos que, al realizar la transformación con respecto a la
matriz (producto vectorial 𝐴𝑥⃑), dan lugar a un múltiplo escalar de sí mismos (𝜆𝑥⃑), con lo que no
cambian su dirección, y éste escalar 𝜆 recibe el nombre valor
propio, autovalor, valor característico o eigenvalor. Por lo que
se cumple la igualdad obtenida del polinomio característico:
Entonces, los vectores propios no son afectados en una transformación lineal, o son múltiplos
escalares de sí mismo luego de dicha transformación. Por la utilidad en diversos campos de la
ingeniería y otros campos científicos, la necesidad de obtener autovalores y autovectores es
importante, pero se necesitan de ciertos métodos para obtenerlos puesto que, para matrices
muy grandes, el polinomio característico es poco conveniente, entonces, se necesitan métodos
los cuales engloban poderosas demostraciones e igualdades matemáticas que agiliten dicho
proceso. En este informe se estudiarán tres de estos métodos: método de la potencia, método
de iteración inversa y método de iteración inversa con corrimiento.
Donde la primera expresión es la fórmula del método descrita, el segundo término el nuevo
vector, y el tercero, la forma de hallar el valor propio asociado mediante el coeficiente de
Rayleigh.
El método de la potencia inversa, o método de la
iteración inversa, tiene el mismo principio que el
método de la potencia convencional, a diferencia
que en éste caso se necesita de la matriz inversa de
A (A-1), para la obtención del valor propio mínimo y su vector propio asociado. Lo que lo
diferencia del método anterior se basa en que, los valores propios de la inversa de una matriz
son sus recíprocos, por lo que, si se realiza el recíproco de cada autovalor, lo que obtenemos es
la imagen superior. Entonces, si encontramos el máximo de la inversa, si lo invertimos,
tendremos el mínimo valor propio de la matriz A. Por lo que el método quedaría definido de la
siguiente manera:
Para la solución del vector propio no usaremos la inversa, sino que la factorización LU enviando
a la función realizada en informes anteriores a la matriz 𝐴 y 𝑦⃑, que sería igual a la forma antes
estudiada de 𝐴𝑥⃑ = 𝑏⃑⃑. Hechas las iteraciones, se procedería a usar otra vez el coeficiente de
Rayleigh para obtener el valor propio asociado.
El método de la potencia inversa con corrimiento es un método que permite el cálculo del
autovalor más cercano a un número dado, en nuestro caso un 𝜇 dado que hará tender a un
vector arbitrario al autovalor deseado por medio de las iteraciones. El número 𝜇, que puede ser
real o complejo, es el encargado de trasladar a la matriz A y encaminar a x0 hacia el autovalor
más cercano en el algoritmo. Su aplicación efectiva requiere algún previo conocimiento de la
situación de los autovalores de la matriz dada porque, al fin y al cabo, necesita de otro método
(el cual no se muestra en el informe, pero se lo denomina los círculos de Gershgorin) para saber
por dónde acercarse a dicho autovalor y por ende hallar el autovector asociado. Este método
sigue el mismo sentido que los dos anteriores métodos, a diferencia que, el coeficiente Rayleigh,
es utilizado en las iteraciones para crear una
nueva lambda que se utilizará en la siguiente
iteración y así acercarse cada vez más al vector
propio y, por ende, al valor propio asociado. En
la parte izquierda se puede corroborar lo antes
dicho con el pseudocódigo de éste algoritmo.
Por esta razón éste método también es
llamado el método de iteración del coeficiente de Rayleigh.
Códigos:
En la presente sección se mostrarán los códigos de cada ejemplo con sus respectivas
explicaciones:
- Método de la potencia:
function [ x ] = LUSol( A, b )
[L, U, b]= LUgaussPiv(A, b);
[n,n]=size(L);
y=zeros(n,1);
x=zeros(n,1);
%Inicia el proceso de sustitucion progresiva
for i=2:n
aux=b(i);
for j=1:i-1
aux= aux - (L(i,j)*b(j));
end
b(i)=aux;
end
y(n)=(b(n)/L(n,n));
for i=n-1:-1:1;
aux=0;
for j=i+1:n
aux= aux + (L(i,j)*y(j));
end
y(i)=(b(i)-aux)/L(i,i);
end
% disp('El vector y es: ');
% disp(y);
%Inicia el proceso de sustitucion regresiva
x(n)=(y(n)/U(n,n));
for i=n-1:-1:1;
aux=0;
for j=i+1:n
aux= aux + (U(i,j)*x(j));
end
x(i)=(y(i)-aux)/U(i,i);
end
% disp('El vector solucion del sistema es: ');
% disp(x);
end
Ejercicios:
1. Obtenga los valores propios máximos y mínimos de la siguiente matriz A, luego,
mediante un miu 𝜇 = −212, acercarse a un valor propio y vector propio. De
conclusiones.
8 1 2 3
Sea 𝐴 = | 1 7 3 −8 |
2 3 6 −17
14 −13 −9 1
1/√4
1/√4|
Sea un vector 𝑥0 = ||
1/√4|
1/√4
Ahora, como vemos obtuvimos tres valores propios y tres vectores propios distintos. El primero
que nos muestra la consola es el valor máximo obtenido por el método de la Potencia. Para
corroborar éste resultado, utilizaremos la función eig(A) de MatLab®, la cual nos arroja una
matriz de vectores columna que resultan los vectores propios de la matriz A, y otra matriz
diagonal con los autovalores de la misma matriz:
Si comparamos los resultados de la primera respuesta, se puede observar que el valor de 21.913
es el autovalor máximo y que posee los mismos autovectores que la función de MatLab®. Por lo
tanto, el método de la potencia fue un éxito. En segundo lugar, tenemos el valor propio menor
igual a 3.5725, el cual, de la misma manera posee el mismo resultado de la función de MatLab®,
además de ser el mínimo de los cuatro autovalores obtenidos por esa función. Finalmente, el
último resultado es el del autovalor hallado mediante la traslación de A realizada por 𝜇 = −212.
Un que no sabes de qué forma se acerca a dicho valor propio el método de la potencia inversa
con corrimiento, el resultado que arroja dicho algoritmo posee un autovalor de -13.511 idéntico
al arrojado por la función de MatLab®. Por lo que este último método también es un éxito.
Para concluir, los métodos son muy eficaces, pero hay situaciones en que los autovalores varían
considerablemente del autovalor original por lo que los algoritmos deben ser repotenciado para
evitar esos errores.
Resultados y Conclusiones
Si bien se obtuvieron los valores propios máximo y mínimo de una matriz cuadrada no singular,
el objetivo más importante es encontrar todos los autovalores de una matriz. El problema que
surge del tercer método es que, para obtener todos los autovalores, es necesario tener un
conocimiento previo de por donde se encuentra para acercar con una traslación de la matriz A,
lo que dificulta encontrar todos los autovalores y, por ende, todos los autovectores de la matriz.
Si bien todos los tres métodos convergen a valores distintos, normalmente el tercer método, en
esta práctica, converge a los valores extremos por alguna razón y por consecuencia, es difícil
acertar a un valor propio diferente.
Se recomienda el uso de algún método más potente para la obtención de los autovalores y
autovectores de una matriz A, como el método QR que se presenta más adelante en los libros
de bibliografía.
Referencias
Panju, M. (s.f.). Iterative Methods for Computing Eigenvalues and Eigenvectors. The Waterloo
Mathematics Review, 9-13.
QUARTERONI, A., & SALERI, F. (2006). Cálculo Científico con Matlab y Octave. Milán: Springer.