Espectro aproximado de una matriz grande

14

Quiero calcular el espectro ( todos los valores propios) de una gran matriz dispersa (cientos de miles de filas). Esto es duro.

Estoy dispuesto a conformarme con una aproximación. ¿Hay métodos de aproximación para hacer esto?

Si bien espero una respuesta general a esta pregunta, también estaría satisfecho con una respuesta en el siguiente caso específico. Mi matriz es un laplaciano normalizado de un gráfico grande. Los valores propios estarán entre 0 y 2 con un gran número de ellos agrupados alrededor de 1.

MRocklin
fuente
¿La matriz es escasa o densa?
Aron Ahmadia
La matriz es escasa. He editado la pregunta para reflejar esto.
MRocklin
¿Por qué quieres todos los valores propios? Esto es casi universalmente algo malo cuando tiene una matriz dispersa o estructurada, por lo tanto, es importante saber cómo planea usarla.
Jed Brown
El espectro de un gráfico laplaciano contiene información importante que me gustaría inspeccionar. No los necesito a todos, solo necesito saber aproximadamente dónde están.
MRocklin

Respuestas:

15

Si su gráfico no está dirigido (como sospecho), la matriz es simétrica y no puede hacer nada mejor que el algoritmo de Lanczsos (con reortogonalización selectiva si es necesario para la estabilidad). Como el espectro completo consta de 100000 números, supongo que está interesado principalmente en la densidad espectral.

Para obtener una densidad espectral aproximada, tome el espectro del subespacio Krylov líder de dimensión 100 más o menos, y reemplace su densidad discreta por una versión suavizada.

El espectro principal de Krylov tendrá valores propios bien aislados casi resueltos (en caso de que existan), se aproximará a los valores propios al final del espectro no aislado, y es algo aleatorio intermedio, con una distribución cuya función de distribución acumulativa se asemeja a la del espectro verdadero . Sería convergente en aritmética exacta si la dimensión crece. (Si su operador fuera de dimensión infinita, este sería el caso, y obtendría la integral de la verdadera función de densidad espectral en el espectro continuo).

Arnold Neumaier
fuente
¿No será el espectro del subespacio Krylov líder los 100 valores propios más grandes? También estoy interesado en la distribución de los valores propios moderados y más pequeños.
MRocklin
1
@MRocklin: No. Aumenté mi respuesta para dar más detalles.
Arnold Neumaier
4

Si está de acuerdo con pensar en cosas que no son valores propios, sino funciones que, en cierto sentido, aún le dicen algo sobre el espectro, entonces creo que debería revisar parte del trabajo de Mark Embree en la Universidad de Rice.

Wolfgang Bangerth
fuente
2

Aquí hay otra forma de caracterizar el espectro.

UNvk=λkvkUN

S(ω)=kπ-1σσ2+(λk-ω)2=σπTr[σ2+(ω-UN)2]-1
S(ω)=σπzT[σ2+(ω-UN)2]-1z
z+1-1σω[σ2+(ω-UN)2]-1z[ω+yoσ-UN]-1[ω-yoσ-UN]-1S(ω)

ω

ω

pv.
fuente
0

Consulte el documento "Sobre la descomposición espectral aproximada basada en muestreo" de Sanjiv Kumar, Mehryar Mohri y Ameet Talwalkar (ICML 2009.). Utiliza el muestreo de columnas de su matriz.

Como su matriz es simétrica, debe hacer lo siguiente:

Deje A ser su matriz n * n. Desea reducir el cálculo de los valores propios de una matriz n * n al cálculo de los valores propios de una matriz k * k. Primero elige tu valor de k. Digamos que elige k = 500, ya que puede calcular fácilmente los valores propios de una matriz 500 * 500. Luego, elija al azar k columnas de la matriz A. Construya la matriz B que mantiene solo estas columnas y las filas correspondientes.

B = A (x, x) para un conjunto aleatorio de k índices x

B es ahora una matriz ak * k. Calcule los valores propios de B y multiplíquelos por (n / k). Ahora tiene valores k que se distribuyen aproximadamente como los n valores propios de A. Tenga en cuenta que solo obtiene valores k, no n, pero su distribución será correcta (hasta el hecho de que son una aproximación).

Jérôme Kunegis
fuente
-1

Siempre puede usar los límites del Teorema del círculo de Gershgorin para aproximar los valores propios.

Si los términos fuera de la diagonal son pequeños, la diagonal en sí misma es una buena aproximación del espectro. De lo contrario, si termina con una aproximación del espacio propio (por otros métodos), podría intentar expresar las entradas diagonales en este sistema. Esto conducirá a una matriz con términos fuera de la diagonal más pequeños y la nueva diagonal será una mejor aproximación del espectro.

FKaria
fuente
Gerschgoring no ofrece aproximaciones sino límites de error, por lo que es irrelevante aquí. Además, usar su método en una matriz dispersa requeriría una matriz de vector propio denso, que es imposible de almacenar para el problema de los OP.
Arnold Neumaier
Como dije, la diagonal es en sí misma una aproximación del espectro con los límites de error dados por el teorema del círculo de Gershgorin, por supuesto, los límites de error de Gershgorin no son aproximaciones. La diagonal será una buena aproximación si los términos fuera de la diagonal son pequeños, lo cual creo que es el caso ya que OP dijo que la matriz es escasa.
FKaria
55
La mayoría de las matrices dispersas que surgen en la práctica tienen algunos elementos significativos fuera de la diagonal en cada fila y columna, lo que hace que la diagonal sea aproximaciones muy pobres (por ejemplo, para un Laplaciano de un gráfico regular, la diagonal es constante), y los límites de error son inútiles.
Arnold Neumaier