stringtranslate.com

Algoritmo de valores propios

En el análisis numérico , uno de los problemas más importantes es el diseño de algoritmos eficientes y estables para encontrar los valores propios de una matriz . Estos algoritmos de valores propios también pueden encontrar vectores propios.

Valores propios y vectores propios

Dada una matriz cuadrada A de números reales o complejos de n × n , un valor propio λ y su vector propio generalizado asociado v son un par que obedece a la relación [1]

donde v es un vector columna n × 1 distinto de cero, I es la matriz identidad n × n , k es un entero positivo y tanto λ como v pueden ser complejos incluso cuando A es real. Cuando k = 1 , el vector se llama simplemente vector propio y el par se llama par propio . En este caso, A v = λ v . Cualquier valor propio λ de A tiene vectores propios ordinarios [nota 1] asociados, porque si k es el entero más pequeño tal que ( AλI ) k v = 0 para un vector propio generalizado v , entonces ( AλI ) k −1 v es un vector propio ordinario. El valor k siempre se puede tomar como menor o igual que n . En particular, ( AλI ) n v = 0 para todos los vectores propios generalizados v asociados con λ .

Para cada valor propio λ de A , el núcleo ker( AλI ) consta de todos los vectores propios asociados con λ (junto con 0), llamado espacio propio de λ , mientras que el espacio vectorial ker(( AλI ) n ) consta de todos vectores propios generalizados, y se llama espacio propio generalizado . La multiplicidad geométrica de λ es la dimensión de su espacio propio. La multiplicidad algebraica de λ es la dimensión de su espacio propio generalizado. Esta última terminología está justificada por la ecuación

donde det es la función determinante , λ i son todos los valores propios distintos de A y α i son las multiplicidades algebraicas correspondientes. La función p A ( z ) es el polinomio característico de A . Entonces la multiplicidad algebraica es la multiplicidad del valor propio como cero del polinomio característico. Dado que cualquier vector propio es también un vector propio generalizado, la multiplicidad geométrica es menor o igual que la multiplicidad algebraica. Las multiplicidades algebraicas suman n , el grado del polinomio característico. La ecuación p A ( z ) = 0 se llama ecuación característica , ya que sus raíces son exactamente los valores propios de A . Según el teorema de Cayley-Hamilton , A en sí obedece a la misma ecuación: p A ( A ) = 0 . [nota 2] Como consecuencia, las columnas de la matriz deben ser 0 o vectores propios generalizados del valor propio λ j , ya que son aniquilados por . De hecho, el espacio columna es el espacio propio generalizado de λ j .

Cualquier colección de vectores propios generalizados de distintos valores propios es linealmente independiente, por lo que se puede elegir una base para todo C n que consista en vectores propios generalizados. Más particularmente, esta base { v i }n
yo = 1
pueden ser elegidos y organizados de manera que

Si estos vectores base se colocan como vectores columna de una matriz V = [ v 1 v 2v n ] , entonces V se puede usar para convertir A a su forma normal de Jordan :

donde λ i son los valores propios, β i = 1 si ( Aλ i +1 ) v i +1 = v i y β i = 0 en caso contrario.

De manera más general, si W es cualquier matriz invertible y λ es un valor propio de A con vector propio generalizado v , entonces ( W −1 AWλI ) k W k v = 0 . Por tanto, λ es un valor propio de W −1 AW con un vector propio generalizado W k v . Es decir, matrices similares tienen los mismos valores propios.

Matrices normales, hermitianas y simétricas reales

El adjunto M * de una matriz compleja M es la transpuesta del conjugado de M : M * = M T . Una matriz cuadrada A se llama normal si conmuta con su adjunto: A * A = AA * . Se llama hermitiano si es igual a su adjunto: A * = A . Todas las matrices hermitianas son normales. Si A tiene sólo elementos reales, entonces el adjunto es sólo la transpuesta, y A es hermitiano si y sólo si es simétrico . Cuando se aplica a vectores de columna, el adjunto se puede utilizar para definir el producto interno canónico en C n : wv = w * v . [nota 3] Las matrices normales, hermitianas y simétricas reales tienen varias propiedades útiles:

Es posible que una matriz real o compleja tenga todos los valores propios reales sin ser hermitiana. Por ejemplo, una matriz triangular real tiene sus valores propios a lo largo de su diagonal, pero en general no es simétrica.

Número de condición

Cualquier problema de cálculo numérico puede verse como la evaluación de alguna función f para alguna entrada x . El número de condición κ ( f , x ) del problema es la relación entre el error relativo en la salida de la función y el error relativo en la entrada, y varía tanto con la función como con la entrada. El número de condición describe cómo crece el error durante el cálculo. Su logaritmo de base 10 indica cuántos dígitos menos de precisión existen en el resultado que los que existían en la entrada. El número de condición es el mejor de los casos. Refleja la inestabilidad inherente al problema, independientemente de cómo se resuelva. Ningún algoritmo puede producir resultados más precisos que los indicados por el número de condición, excepto por casualidad. Sin embargo, un algoritmo mal diseñado puede producir resultados significativamente peores. Por ejemplo, como se menciona a continuación, el problema de encontrar valores propios para matrices normales siempre está bien condicionado. Sin embargo, el problema de encontrar las raíces de un polinomio puede estar muy mal condicionado . Por tanto, los algoritmos de valores propios que funcionan encontrando las raíces del polinomio característico pueden estar mal condicionados incluso cuando el problema no lo está.

Para el problema de resolver la ecuación lineal A v = b donde A es invertible, el número de condición matricial κ ( A −1 , b ) viene dado por || Un || op || Un −1 || op , donde || || op es la norma del operador subordinada a la norma euclidiana normal en C n . Dado que este número es independiente de b y es el mismo para A y A −1 , generalmente se le llama simplemente número de condición κ ( A ) de la matriz A. Este valor κ ( A ) es también el valor absoluto de la relación entre el valor propio más grande de A y su más pequeño. Si A es unitario , entonces || Un || operación = || Un −1 || op = 1 , entonces κ ( A ) = 1 . Para matrices generales, la norma del operador suele ser difícil de calcular. Por esta razón, comúnmente se utilizan otras normas matriciales para estimar el número de condición.

Para el problema de valores propios, Bauer y Fike demostraron que si λ es un valor propio para una matriz A diagonalizable de n × n con matriz de vector propio V , entonces el error absoluto al calcular λ está limitado por el producto de κ ( V ) y el error absoluto en A . [2] Como resultado , el número de condición para encontrar λ es κ ( λ , A ) = κ ( V ) = || V || op || V −1 || op . Si A es normal, entonces V es unitario y κ ( λ , A ) = 1 . Por tanto, el problema de valores propios para todas las matrices normales está bien condicionado.

Se ha demostrado que el número de condición para el problema de encontrar el espacio propio de una matriz normal A correspondiente a un valor propio λ es inversamente proporcional a la distancia mínima entre λ y los otros valores propios distintos de A. [3] En particular, el problema del espacio propio para matrices normales está bien condicionado para valores propios aislados. Cuando los valores propios no están aislados, lo mejor que se puede esperar es identificar el intervalo de todos los vectores propios de valores propios cercanos.

Algoritmos

El algoritmo más confiable y más utilizado para calcular valores propios es el algoritmo QR de John GF Francis , considerado uno de los diez mejores algoritmos del siglo XX. [4]

Cualquier polinomio mónico es el polinomio característico de su matriz compañera . Por lo tanto, también se podría utilizar un algoritmo general para encontrar valores propios para encontrar las raíces de polinomios. El teorema de Abel-Ruffini muestra que cualquier algoritmo de este tipo para dimensiones mayores que 4 debe ser infinito o involucrar funciones de mayor complejidad que las operaciones aritméticas elementales y las potencias fraccionarias. Por esta razón, los algoritmos que calculan exactamente valores propios en un número finito de pasos sólo existen para unas pocas clases especiales de matrices. Para matrices generales, los algoritmos son iterativos y producen mejores soluciones aproximadas con cada iteración.

Algunos algoritmos producen todos los valores propios, otros producirán unos pocos o sólo uno. Sin embargo, incluso estos últimos algoritmos se pueden utilizar para encontrar todos los valores propios. Una vez que se ha identificado un valor propio λ de una matriz A , se puede utilizar para dirigir el algoritmo hacia una solución diferente la próxima vez o para reducir el problema a uno que ya no tenga λ como solución.

La redirección generalmente se logra cambiando: reemplazando A con AμI para obtener una μ constante . Al valor propio encontrado para AμI se le debe agregar μ nuevamente para obtener un valor propio para A. Por ejemplo, para iteración de potencia , μ = λ . La iteración de potencia encuentra el valor propio más grande en valor absoluto, por lo que incluso cuando λ es solo un valor propio aproximado, es poco probable que la iteración de potencia lo encuentre una segunda vez. Por el contrario, los métodos basados ​​en iteración inversa encuentran el valor propio más bajo, por lo que μ se elige muy lejos de λ y, con suerte, más cerca de algún otro valor propio.

La reducción se puede lograr restringiendo A al espacio columna de la matriz AλI , que A lleva hacia sí mismo. Como A - λI es singular, el espacio columna es de menor dimensión. Luego, el algoritmo de valores propios se puede aplicar a la matriz restringida. Este proceso se puede repetir hasta que se encuentren todos los valores propios.

Si un algoritmo de valores propios no produce vectores propios, una práctica común es utilizar un algoritmo basado en iteración inversa con μ establecido en una aproximación cercana al valor propio. Esto convergerá rápidamente al vector propio del valor propio más cercano a μ . Para matrices pequeñas, una alternativa es observar el espacio de columnas del producto de Aλ ' I para cada uno de los otros valores propios λ ' .

Robert Thompson descubrió una fórmula para la norma de los componentes de vectores propios unitarios de matrices normales en 1966 y la redescubrieron de forma independiente varios otros. [5] [6] [7] [8] [9] Si A es una matriz normal con valores propios λ i ( A ) y vectores propios unitarios correspondientes v i cuyas entradas componentes son v i,j , sea A j la matriz obtenida eliminando la i -ésima fila y columna de A , y sea λ k ( A j ) su k -ésimo valor propio. Entonces

Si son los polinomios característicos de y , la fórmula se puede reescribir como

Hessenberg y matrices tridiagonales

Debido a que los valores propios de una matriz triangular son sus elementos diagonales, para las matrices generales no existe un método finito como la eliminación gaussiana para convertir una matriz a forma triangular preservando al mismo tiempo los valores propios. Pero es posible llegar a algo cercano a lo triangular. Una matriz de Hessenberg superior es una matriz cuadrada para la cual todas las entradas debajo de la subdiagonal son cero. Una matriz de Hessenberg inferior es aquella en la que todas las entradas por encima de la superdiagonal son cero. Las matrices que son tanto superiores como inferiores de Hessenberg son tridiagonales . Las matrices de Hessenberg y tridiagonales son los puntos de partida de muchos algoritmos de valores propios porque las entradas cero reducen la complejidad del problema. Normalmente se utilizan varios métodos para convertir una matriz general en una matriz de Hessenberg con los mismos valores propios. Si la matriz original era simétrica o hermitiana, entonces la matriz resultante será tridiagonal.

Cuando solo se necesitan valores propios, no es necesario calcular la matriz de similitud, ya que la matriz transformada tiene los mismos valores propios. Si también se necesitan vectores propios, es posible que se necesite la matriz de similitud para transformar los vectores propios de la matriz de Hessenberg nuevamente en vectores propios de la matriz original.

Para problemas de valores propios tridiagonales simétricos, todos los valores propios (sin vectores propios) se pueden calcular numéricamente en el tiempo O (n log (n)), utilizando la bisección del polinomio característico. [11]

Algoritmos iterativos

Los algoritmos iterativos resuelven el problema de los valores propios produciendo secuencias que convergen a los valores propios. Algunos algoritmos también producen secuencias de vectores que convergen a los vectores propios. Más comúnmente, las secuencias de valores propios se expresan como secuencias de matrices similares que convergen en una forma triangular o diagonal, lo que permite leer los valores propios fácilmente. Las secuencias de vectores propios se expresan como las matrices de similitud correspondientes.

Cálculo directo

Si bien no existe un algoritmo simple para calcular directamente los valores propios de matrices generales, existen numerosas clases especiales de matrices donde los valores propios se pueden calcular directamente. Éstas incluyen:

Matrices triangulares

Dado que el determinante de una matriz triangular es el producto de sus entradas diagonales, si T es triangular, entonces . Por tanto, los valores propios de T son sus entradas diagonales.

Ecuaciones polinómicas factorizables

Si p es cualquier polinomio y p ( A ) = 0, entonces los valores propios de A también satisfacen la misma ecuación. Si p tiene una factorización conocida, entonces los valores propios de A se encuentran entre sus raíces.

Por ejemplo, una proyección es una matriz cuadrada P que satisface P 2 = P . Las raíces de la ecuación polinómica escalar correspondiente, λ 2 = λ , son 0 y 1. Por tanto, cualquier proyección tiene 0 y 1 como valores propios. La multiplicidad de 0 como valor propio es la nulidad de P , mientras que la multiplicidad de 1 es el rango de P.

Otro ejemplo es una matriz A que satisface A 2 = α 2 I para algún escalar α . Los valores propios deben ser ± α . Los operadores de proyección.

satisfacer

y

Los espacios de columnas de P + y P son los espacios propios de A correspondientes a + α y α , respectivamente.

matrices 2×2

Para las dimensiones 2 a 4, existen fórmulas que involucran radicales y que pueden usarse para encontrar los valores propios. Si bien es una práctica común para matrices de 2 × 2 y 3 × 3, para matrices de 4 × 4 la creciente complejidad de las fórmulas raíz hace que este enfoque sea menos atractivo.

Para la matriz 2×2

el polinomio característico es

Por tanto, los valores propios se pueden encontrar utilizando la fórmula cuadrática :

Definiendo como la distancia entre los dos valores propios, es sencillo calcular

con fórmulas similares para c y d . De esto se deduce que el cálculo está bien condicionado si se aíslan los valores propios.

Los vectores propios se pueden encontrar explotando el teorema de Cayley-Hamilton . Si λ 1 , λ 2 son los valores propios, entonces ( Aλ 1 I )( Aλ 2 I ) = ( Aλ 2 I )( Aλ 1 I ) = 0 , entonces las columnas de ( Aλ 2 I ) son aniquilados por ( Aλ 1 I ) y viceversa. Suponiendo que ninguna de las matrices es cero, las columnas de cada una deben incluir vectores propios para el otro valor propio. (Si cualquiera de las matrices es cero, entonces A es un múltiplo de la identidad y cualquier vector distinto de cero es un vector propio).

Por ejemplo, supongamos

entonces tr( A ) = 4 − 3 = 1 y det( A ) = 4(−3) − 3(−2) = −6 , por lo que la ecuación característica es

y los valores propios son 3 y -2. Ahora,

En ambas matrices, las columnas son múltiplos entre sí, por lo que se puede utilizar cualquiera de las columnas. Así, (1 , −2) puede tomarse como un vector propio asociado al valor propio -2, y (3, −1) como un vector propio asociado al valor propio 3, como se puede verificar multiplicándolos por A.

Matrices simétricas de 3×3

La ecuación característica de una matriz A simétrica de 3×3 es:

Esta ecuación se puede resolver usando los métodos de Cardano o Lagrange , pero un cambio afín a A simplificará considerablemente la expresión y conducirá directamente a una solución trigonométrica . Si A = pB + qI , entonces A y B tienen los mismos vectores propios, y β es un valor propio de B si y sólo si α = + q es un valor propio de A. Dejando y , da

La sustitución β = 2cos θ y cierta simplificación usando la identidad cos 3 θ = 4cos 3 θ − 3cos θ reduce la ecuación a cos 3 θ = det( B ) / 2 . De este modo

Si det( B ) es complejo o es mayor que 2 en valor absoluto, el arcocoseno debe tomarse a lo largo de la misma rama para los tres valores de k . Este problema no surge cuando A es real y simétrico, lo que da como resultado un algoritmo simple: [17]

% Dada una matriz A simétrica real de 3x3, calcule los valores propios % Tenga en cuenta que acos y cos operan sobre ángulos en radianesp1 = A ( 1 , 2 ) ^ 2 + A ( 1 , 3 ) ^ 2 + A ( 2 , 3 ) ^ 2 si ( p1 == 0 ) % A es diagonal. eig1 = A ( 1 , 1 ) eig2 = A ( 2 , 2 ) eig3 = A ( 3 , 3 ) else q = traza ( A ) / 3 % traza(A) es la suma de todos los valores diagonales p2 = ( A ( 1 , 1 ) - q ) ^ 2 + ( A ( 2 , 2 ) - q ) ^ 2 + ( A ( 3 , 3 ) - q ) ^ 2 + 2 * p1 p = raíz cuadrada ( p2 / 6 ) B = ( 1 / p ) * ( A - q * I ) % I es la matriz identidad r = det ( B ) / 2                                                                % En aritmética exacta para una matriz simétrica -1 <= r <= 1 % pero un error de cálculo puede dejarlo ligeramente fuera de este rango. if ( r <= - 1 ) phi = pi / 3 elseif ( r >= 1 ) phi = 0 else phi = acos ( r ) / 3 end                          % los valores propios satisfacen eig3 <= eig2 <= eig1 eig1 = q + 2 * p * cos ( phi ) eig3 = q + 2 * p * cos ( phi + ( 2 * pi / 3 )) eig2 = 3 * q - eig1 - eig3 % desde trace(A) = eig1 + eig2 + eig3 final                              

Una vez más, los vectores propios de A pueden obtenerse recurriendo al teorema de Cayley-Hamilton . Si α 1 , α 2 , α 3 son valores propios distintos de A , entonces ( Aα 1 I )( Aα 2 I )( Aα 3 I ) = 0 . Por lo tanto, las columnas del producto de dos de estas matrices contendrán un vector propio para el tercer valor propio. Sin embargo, si α 3 = α 1 , entonces ( Aα 1 I ) 2 ( Aα 2 I ) = 0 y ( Aα 2 I )( Aα 1 I ) 2 = 0 . Así, el espacio propio generalizado de α 1 está atravesado por las columnas de Aα 2 I mientras que el espacio propio ordinario está atravesado por las columnas de ( Aα 1 I )( Aα 2 I ) . El espacio propio ordinario de α 2 está abarcado por las columnas de ( Aα 1 I ) 2 .

Por ejemplo, dejemos

La ecuación característica es

con valores propios 1 (de multiplicidad 2) y -1. Calculador,

y

Por tanto, (−4, −4, 4) es un vector propio para −1, y (4, 2, −2) es un vector propio para 1. (2, 3, −1) y (6, 5, −3) son ambos vectores propios generalizados asociados con 1, cualquiera de los cuales podría combinarse con (−4, −4, 4) y (4, 2, −2) para formar una base de vectores propios generalizados de A. Una vez encontrados, los vectores propios se pueden normalizar si es necesario.

Vectores propios de matrices normales de 3 × 3

Si una matriz de 3 × 3 es normal, entonces el producto cruzado se puede utilizar para encontrar vectores propios. Si es un valor propio de , entonces el espacio nulo de es perpendicular a su espacio columna. El producto cruzado de dos columnas independientes de estará en el espacio nulo. Es decir, será un vector propio asociado a . Dado que el espacio columna es bidimensional en este caso, el espacio propio debe ser unidimensional, por lo que cualquier otro vector propio será paralelo a él.

Si no contiene dos columnas independientes pero no es 0 , aún se puede utilizar el producto cruzado. En este caso es un valor propio de multiplicidad 2, por lo que cualquier vector perpendicular al espacio columna será un vector propio. Supongamos que es una columna distinta de cero de . Elija un vector arbitrario que no sea paralelo a . Entonces y será perpendicular a y por tanto serán vectores propios de .

Esto no funciona cuando no es normal, ya que el espacio nulo y el espacio de columna no necesitan ser perpendiculares para tales matrices.

Ver también

Notas

  1. ^ El término "ordinario" se utiliza aquí sólo para enfatizar la distinción entre "vector propio" y "vector propio generalizado".
  2. ^ donde el término constante se multiplica por la matriz identidad I.
  3. ^ Los físicos prefieren este orden del producto interno (con la posición lineal conjugada a la izquierda). Los algebristas suelen colocar la posición lineal conjugada a la derecha: wv = v * w .

Referencias

  1. ^ Axler, Sheldon (1995), "¡Abajo los determinantes!" (PDF) , American Mathematical Monthly , 102 (2): 139–154, doi :10.2307/2975348, JSTOR  2975348, archivado desde el original (PDF) el 13 de septiembre de 2012 , consultado el 31 de julio de 2012
  2. ^ FL Bauer; CT Fike (1960), "Normas y teoremas de exclusión", Numer. Matemáticas. , 2 : 137–141, doi : 10.1007/bf01386217, S2CID  121278235
  3. ^ SC Eisenstat; ICF Ipsen (1998), "Resultados de perturbación relativa para valores propios y vectores propios de matrices diagonalizables", BIT , 38 (3): 502–9, doi :10.1007/bf02510256, S2CID  119886389
  4. ^ J. Dongarra y F. Sullivan (2000). "Diez algoritmos principales del siglo". Computación en Ciencias e Ingeniería . 2 : 22-23. doi :10.1109/MCISE.2000.814652.
  5. ^ Thompson, RC (junio de 1966). "Principales submatrices de matrices normales y hermitianas". Revista de Matemáticas de Illinois . 10 (2): 296–308. doi : 10.1215/ijm/1256055111 .
  6. ^ Peter Nylen; Tin-Yau Tam; Frank Uhlig (1993). "Sobre los valores propios de las submatrices principales de matrices normales, hermitianas y simétricas". Álgebra lineal y multilineal . 36 (1): 69–78. doi :10.1080/03081089308818276.
  7. ^ Bebiano N, Furtado S, da Providencia J (2011). "Sobre los valores propios de las submatrices principales de matrices J-normales". Álgebra lineal y sus aplicaciones . 435 (12): 3101–3114. doi : 10.1016/j.laa.2011.05.033 .
  8. ^ Forrester PJ, Zhang J (2021). "Proyecciones Corank-1 y el problema aleatorio de Horn". Revista Tunecina de Matemáticas . 3 : 55–73. arXiv : 1905.05314 . doi :10.2140/túnez.2021.3.55. S2CID  153312446.
  9. ^ Denton PB, Parke SJ, Tao T, Zhang X (2021). "Vectores propios a partir de valores propios: un estudio de una identidad básica en álgebra lineal". Boletín de la Sociedad Matemática Estadounidense . 59 : 1. arXiv : 1908.03795 . doi : 10.1090/bull/1722. S2CID  213918682.
  10. ^ Prensa abc, William H.; Teukolsky, Saúl A.; Vetterling, William T.; Flannery, Brian P. (1992). Recetas numéricas en C (2ª ed.). Prensa de la Universidad de Cambridge. ISBN 978-0-521-43108-8.
  11. ^ Coakley, Ed S. (mayo de 2013), "Un algoritmo rápido de divide y vencerás para calcular los espectros de matrices tridiagonales simétricas reales"., Análisis armónico computacional y aplicado , 34 (3): 379–414, doi :10.1016 /j.acha.2012.06.003
  12. ^ Neymeyr, K. (2006), "Una teoría geométrica para la iteración inversa precondicionada IV: en los casos de convergencia más rápida"., Aplicación de álgebra lineal. , 415 (1): 114–139, doi : 10.1016/j.laa.2005.06.022
  13. ^ Li, TY; Zeng, Zhonggang (1992), "La iteración de Laguerre para resolver el problema propio tridiagonal simétrico - revisada", Revista SIAM de Computación Científica
  14. ^ Chu, Moody T. (1988), "Una nota sobre el método de homotopía para problemas de valores propios algebraicos lineales", Aplicación de álgebra lineal. , 105 : 225–236, doi : 10.1016/0024-3795(88)90015-8
  15. ^ Dhillon, Inderjit S.; Parlett, Beresford N.; Vömel, Christof (2006), "El diseño y la implementación del algoritmo MRRR" (PDF) , Transacciones ACM en software matemático , 32 (4): 533–560, doi :10.1145/1186785.1186788, S2CID  2410736
  16. ^ Delattre, B.; Barthélemy, Q.; Araujo, A.; Allauzen, A. (2023), "Límite eficiente de la constante de Lipschitz para capas convolucionales mediante iteración de gramos", Actas de la 40.ª Conferencia internacional sobre aprendizaje automático
  17. ^ Smith, Oliver K. (abril de 1961), "Valores propios de una matriz simétrica de 3 × 3", Comunicaciones del ACM , 4 (4): 168, doi : 10.1145/355578.366316 , S2CID  37815415

Otras lecturas