Tengo cientos de millones de matrices simétricas de 0/1 de tamaño moderado (digamos 20x20 a 30x30) que (obviamente) tienen eigenvalores reales.
Deseo extraer de esta lista el diminuto número de matrices que tienen ningún eigenvalor pequeño, donde estoy llamando eigenvalor $\lambda$ pequeño si satisface $|\lambda| < 1$.
Obviamente puedo hacer esto calculando el polinomio característico de cada matriz y procediendo a partir de ahí. Sin embargo, preferiría no calcular cientos de millones de polinomios característicos si puedo evitarlo.
Por lo tanto, estoy buscando técnicas, heurísticas, etc. que se pueden utilizar para probar rápidamente una matriz en busca de la presencia de un eigenvalor pequeño para poder eliminar inmediatamente la matriz.
Por ejemplo, si una matriz tiene determinante $0$ entonces definitivamente tiene un eigenvalor pequeño (o sea, $0$) y se puede eliminar inmediatamente. Experimentos rápidos y sucios con SageMath muestran que para una muestra aleatoria de mis matrices, los determinantes se pueden calcular en aproximadamente $6$% del tiempo requerido para calcular los polinomios característicos, y que alrededor del $15$% de las matrices entrantes tienen determinante $0$. Por lo tanto, gano un poco al calcular primero los determinantes y desechar esas matrices con determinante $0$.
Parece que esta propiedad es algo especial porque solo una fracción minúscula de mis cientos de millones no tienen eigenvalores pequeños. Sin embargo, he buscado bastante y solo he encontrado algunas referencias tangencialmente relacionadas con matrices con esta propiedad, aunque un par más sobre matrices sin eigenvalores de módulo mayor que uno.
Pregunta ¿Hay alguna otra heurística, tal vez más sofisticada, que pueda detectar la presencia de un eigenvalor pequeño de una matriz simétrica?