Дивіться статтю "Про приблизну спектральну декомпозицію на основі вибірки" Санджива Кумара, Мегряра Мохрі та Амета Талвалкара (ICML 2009). Він використовує вибірку стовпців вашої матриці.
Оскільки ваша матриця симетрична, вам слід зробити наступне:
Нехай A - ваша матриця n * n. Ви хочете зменшити обчислення власних значень матриці n * n до обчислення власних значень матриці k * k. Спочатку виберіть значення k. Скажімо, ви обираєте k = 500, оскільки ви можете легко обчислити власні значення матриці 500 * 500. Тоді випадковим чином вибираємо k стовпців матриці A. Введіть матрицю B, що зберігає лише ці стовпці, і відповідні рядки.
B = A (x, x) для випадкової множини k індексів x
B тепер матриця ak * k. Обчисліть власні значення B і помножте їх на (n / k). Тепер у вас є k значень, приблизно розподілених як n власних значень А. Зауважте, що ви отримуєте лише k значень, а не n, але їх розподіл буде правильним (аж до того, що вони є наближенням).