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).