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 hallar los valores propios de una matriz . Estos algoritmos de valores propios también pueden hallar vectores propios.

Valores propios y vectores propios

Dada una matriz cuadrada A de n × n de números reales o complejos , un valor propio λ y su vector propio generalizado asociado v son un par que obedece 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 denomina simplemente vector propio y el par se denomina par propio . En este caso, A v = λ v . Cualquier valor propio λ de A tiene vectores propios ordinarios [nota 1] asociados a él, ya que 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 ) consiste en todos los vectores propios asociados con λ (junto con 0), llamado el espacio propio de λ , mientras que el espacio vectorial ker(( AλI ) n ) consiste en todos los vectores propios generalizados, y se llama el 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. La última terminología se justifica 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 . Por lo tanto, la multiplicidad algebraica es la multiplicidad del valor propio como un cero del polinomio característico. Como 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 . Por el teorema de Cayley-Hamilton , A en sí mismo obedece a la misma ecuación: p A ( A ) = 0 . [nota 2] En consecuencia, las columnas de la matriz deben ser 0 o vectores propios generalizados del valor propio λ j , ya que son aniquiladas por . De hecho, el espacio de columnas es el espacio propio generalizado de λ j .

Cualquier conjunto de vectores propios generalizados de valores propios distintos es linealmente independiente, por lo que se puede elegir una base para todos los C n que consista en vectores propios generalizados. Más particularmente, esta base { v i }n
yo = 1
se pueden elegir y organizar 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 utilizar 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.

En términos más generales, 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 lo tanto , λ es un valor propio de W −1 AW con vector propio generalizado W k v . Es decir, matrices similares tienen los mismos valores propios.

Matrices normales, hermíticas 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 adjunta: A * A = AA * . Se llama hermítica si es igual a su adjunta: A * = A . Todas las matrices hermíticas son normales. Si A solo tiene elementos reales, entonces el adjunto es solo la transpuesta, y A es hermítica si y solo si es simétrica . Cuando se aplica a vectores columna, el adjunto se puede usar para definir el producto interno canónico en C n : wv = w * v . [nota 3] Las matrices normales, hermíticas y simétricas reales tienen varias propiedades útiles:

Es posible que una matriz real o compleja tenga todos sus valores propios reales sin ser hermítica. 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 en base 10 indica cuántos dígitos menos de precisión existen en el resultado que en la entrada. El número de condición es un escenario del mejor de los casos. Refleja la inestabilidad incorporada 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 lo 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 ) está dado por || A || op || A −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 , normalmente 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 razón entre el mayor valor singular de A y su menor. Si A es unitario , entonces || A || op = || A −1 || op = 1 , por lo que κ ( A ) = 1 . Para matrices generales, la norma del operador suele ser difícil de calcular. Por este motivo, se suelen utilizar otras normas matriciales para estimar el número de condición.

Para el problema del valor propio, Bauer y Fike demostraron que si λ es un valor propio para una matriz diagonalizable n × n A con matriz de vector propio V , entonces el error absoluto en el cálculo de λ 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 lo tanto, el problema del valor propio 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 lapso de todos los vectores propios de los 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, un algoritmo general para hallar valores propios también podría utilizarse para hallar 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 con exactitud los valores propios en un número finito de pasos solo 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 solo 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 se logra generalmente mediante un desplazamiento: reemplazando A por AμI para una constante μ . El valor propio encontrado para AμI debe tener μ agregado nuevamente para obtener un valor propio para A . Por ejemplo, para la 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 bastante 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 consigo. Como A - λI es singular, el espacio columna es de menor dimensión. El algoritmo de valores propios se puede aplicar entonces 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ó en 1966 una fórmula para la norma de los componentes de vectores propios unitarios de matrices normales y varios otros la redescubrieron de forma independiente. [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 al eliminar 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 asumiendo que la derivada no es cero en .

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 mientras se preservan los valores propios. Pero es posible llegar a algo cercano a 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 una para la cual todas las entradas sobre la superdiagonal son cero. Las matrices que son tanto Hessenberg superior como inferior son tridiagonales . Las matrices de Hessenberg y tridiagonales son los puntos de partida para muchos algoritmos de valores propios porque las entradas cero reducen la complejidad del problema. Se utilizan comúnmente 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 hermítica, 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, puede ser necesaria 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 un 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 al producir secuencias que convergen a los valores propios. Algunos algoritmos también producen secuencias de vectores que convergen a los vectores propios. Lo más común es que las secuencias de valores propios se expresen como secuencias de matrices similares que convergen a una forma triangular o diagonal, lo que permite leer los valores propios con facilidad. 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 en las que se pueden calcular directamente los valores propios. Entre ellas se incluyen:

Matrices triangulares

Como el determinante de una matriz triangular es el producto de sus elementos diagonales, si T es triangular, entonces . Por lo tanto, los valores propios de T son sus elementos diagonales.

Ecuaciones polinómicas factorizables

Si p es un polinomio cualquiera y p ( A ) = 0, entonces los valores propios de A también satisfacen la misma ecuación. Si resulta que 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 lo tanto, cualquier proyección tiene 0 y 1 como sus 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 incluyen radicales que se pueden utilizar para hallar 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 de raíz hace que este enfoque sea menos atractivo.

Para la matriz 2×2

El polinomio característico es

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

Al definir la distancia entre los dos valores propios, es sencillo calcularlo.

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

Los vectores propios se pueden hallar 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 , por lo que las columnas de ( Aλ 2 I ) son aniquiladas por ( Aλ 1 I ) y viceversa. Suponiendo que ninguna matriz es cero, las columnas de cada una deben incluir vectores propios para el otro valor propio. (Si alguna matriz 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 dos. Así, (1, −2) se puede tomar como un vector propio asociado al valor propio -2, y (3, −1) como un vector propio asociado al valor propio 3, como se puede comprobar multiplicándolos por A .

Matrices simétricas 3×3

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

Esta ecuación puede resolverse utilizando 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 solo si α = + q es un valor propio de A. Dejando y , se obtiene

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 . Por lo tanto

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 en á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 ) de lo contrario q = trace ( A ) / 3 % trace(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 = sqrt ( 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 el 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 % ya que trace(A) = eig1 + eig2 + eig3 fin                              

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 . Por lo tanto, el espacio propio generalizado de α 1 está abarcado por las columnas de Aα 2 I mientras que el espacio propio ordinario está abarcado 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 que

La ecuación característica es

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

y

Por lo 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 pueden normalizarse si es necesario.

Vectores propios de matrices normales 3×3

Si una matriz 3×3 es normal, entonces se puede utilizar el producto vectorial para hallar vectores propios. Si es un valor propio de , entonces el espacio nulo de es perpendicular a su espacio columna. El producto vectorial 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 , se puede utilizar igualmente el producto vectorial. 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án perpendiculares a y, por lo tanto, serán vectores propios de .

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

Véase también

Notas

  1. ^ El término "ordinario" se utiliza aquí únicamente 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), "Down with Determinants!" (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. Math. , 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 hermíticas". Illinois Journal of Mathematics . 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, hermíticas 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 de Corank-1 y el problema de Horn aleatorio". Revista Tunecina de Matemáticas . 3 : 55–73. arXiv : 1905.05314 . doi :10.2140/tunis.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 Americana de Matemáticas . 59 : 1. arXiv : 1908.03795 . doi :10.1090/bull/1722. S2CID  : 213918682.
  10. ^ abc Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1992). Recetas numéricas en C (2.ª ed.). Cambridge University Press. 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", Applied and Computational Harmonic Analysis , 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 preacondicionada IV: sobre los casos de convergencia más rápidos.", Linear Algebra Appl. , 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: revisitado", Revista SIAM sobre 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", Linear Algebra Appl. , 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) , ACM Transactions on Mathematical Software , 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 Gram", 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", Communications of the ACM , 4 (4): 168, doi : 10.1145/355578.366316 , S2CID  37815415

Lectura adicional