Я хотел бы получить все собственные значения и собственные векторы для конкретной вещественной симметричной матрицы.Это очевидно возможно с numpy.linalg.eigh
, однако, эта матрица имеет особую разреженную структуру, которая позволяет производить линейное масштабирование точечного произведения с вектором.По этой причине я хотел бы использовать scipy.sparse.linalg.eigsh
, который учитывает LinearOperator
вместо входного массива, и использовать неявно перезапущенный метод Lanczos.
Моя проблема заключается в том, что scipy.sparse.linalg.eigsh
делаетНе допускается вычисление всех собственных значений и собственных векторов (т.е. k=n
), а ранг моей входной матрицы обычно равен n
.Есть ли способ обойти это, или любая другая функция позволяет подобную функциональность?