Я имею большую плотную симметричную матрицу NxN и хочу, чтобы собственные векторы соответствовали k наибольшим собственным значениям. Какой лучший способ их найти (желательно, используя numpy, но, возможно, вообще используя blas/atlas/lapack, если это единственный способ пойти)? В общем случае N намного больше, чем k (например, N > 5000, k < 10).
У Numpy есть только функции для нахождения k наибольших собственных значений, если моя стартовая матрица разрежена.