La iteración del cociente de Rayleigh es un algoritmo de valor propio que amplía la idea de la iteración inversa mediante el uso del cociente de Rayleigh para obtener estimaciones de valor propio cada vez más precisas .
La iteración del cociente de Rayleigh es un método iterativo , es decir, entrega una secuencia de soluciones aproximadas que converge a una verdadera solución en el límite. Se garantiza una convergencia muy rápida y en la práctica no se necesitan más de unas pocas iteraciones para obtener una aproximación razonable. El algoritmo de iteración del cociente de Rayleigh converge cúbicamente para matrices hermitianas o simétricas, dado un vector inicial lo suficientemente cercano a un vector propio de la matriz que se está analizando.
Algoritmo
El algoritmo es muy similar a la iteración inversa, pero reemplaza el valor propio estimado al final de cada iteración con el cociente de Rayleigh. Comience eligiendo algún valor como una suposición de valor propio inicial para la matriz hermitiana . Un vector inicial también debe proporcionarse como suposición de vector propio inicial.
Calcule la siguiente aproximación del vector propio por
dónde es la matriz de identidad, y establezca la siguiente aproximación del valor propio al cociente de Rayleigh de la iteración actual igual a
Para calcular más de un valor propio, el algoritmo se puede combinar con una técnica de deflación.
Tenga en cuenta que para problemas muy pequeños es beneficioso reemplazar la matriz inversa con el adyuvante , que producirá la misma iteración porque es igual a la inversa hasta una escala irrelevante (la inversa del determinante, específicamente). El adjugado es más fácil de calcular explícitamente que el inverso (aunque el inverso es más fácil de aplicar a un vector para problemas que no son pequeños) y es más sólido numéricamente porque permanece bien definido a medida que el valor propio converge.
Ejemplo
Considere la matriz
para los cuales los valores propios exactos son , y , con los vectores propios correspondientes
- , y .
(dónde es la proporción áurea).
El valor propio más grande es y corresponde a cualquier vector propio proporcional a
Comenzamos con una suposición de valor propio inicial de
- .
Entonces, la primera iteración produce
la segunda iteración,
y el tercero,
a partir de la cual es evidente la convergencia cúbica.
Implementación de octava
La siguiente es una implementación simple del algoritmo en Octave .
función x = rayleigh ( A, epsilon, mu, x ) x = x / norma ( x ); % el operador de barra invertida en Octave resuelve un sistema lineal y = ( A - mu * ojo ( filas ( A ))) \ x ; lambda = y ' * x ; mu = mu + 1 / lambda err = norma ( y - lambda * x ) / norma ( y ) while err > épsilon x = y / norma ( y ); y = ( A - mu * ojo ( filas ( A ))) \ x ; lambda = y ' * x ; mu = mu + 1 / lambda err = norma ( y - lambda * x ) / norma ( y ) finalfinal