stringtranslate.com

Iteración del cociente de Rayleigh

La iteración del cociente de Rayleigh es un algoritmo de valor propio que extiende la idea de la iteración inversa utilizando el cociente de Rayleigh para obtener estimaciones de valores propios 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 solución verdadera en el límite. Se garantiza una convergencia muy rápida y, en la práctica, no se necesitan más que unas pocas iteraciones para obtener una aproximación razonable. El algoritmo de iteración del cociente de Rayleigh converge de forma cúbica para matrices hermíticas o simétricas, dado un vector inicial que está suficientemente cerca de 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 un valor como estimación inicial del valor propio para la matriz hermítica . También se debe proporcionar un vector inicial como estimación inicial del vector propio.

Calcular la siguiente aproximación del vector propio mediante donde es la matriz identidad, y establecer 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 la adjunta , que producirá la misma iteración porque es igual a la inversa hasta una escala irrelevante (la inversa del determinante, específicamente). La adjunta es más fácil de calcular explícitamente que la inversa (aunque la inversa es más fácil de aplicar a un vector para problemas que no son pequeños), y es más sólida numéricamente porque permanece bien definida 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 .

(donde esta la proporción áurea).

El valor propio más grande es y corresponde a cualquier vector propio proporcional a

Comenzamos con una estimación inicial del valor propio de

.

Entonces, la primera iteración produce

la segunda iteración,

y el tercero,

de donde se desprende la convergencia cúbica.

Implementación de Octave

La siguiente es una implementación simple del algoritmo en Octave .

función  x = rayleigh ( A, epsilon, mu, x ) x = x / norm ( x ); % el operador de barra invertida en Octave resuelve un sistema lineal y = ( A - mu * eye ( rows ( A ))) \ x ; lambda = y ' * x ; mu = mu + 1 / lambda err = norm ( y - lambda * x ) / norm ( y )                                        mientras err > epsilon x = y / norm ( y ); y = ( A - mu * eye ( rows ( A ))) \ x ; lambda = y ' * x ; mu = mu + 1 / lambda err = norm ( y - lambda * x ) / norm ( y ) fin                                       fin

Véase también

Referencias