Алгоритм Ланцоша, который работает на эрмитовой матрице, является одним из хороших способов найти самые низкие и самые большие собственные значения и соответствующие собственные векторы.Отметим, что вещественная симметричная матрица по определению является эрмитовой.Ланцошу требуется O(N)
память, а также приблизительно O(N)
время для оценки экстремальных собственных значений / собственных векторов.Это контрастирует с диагонализацией грубой силы, которая требует O(N^2)
хранения и O(N^3)
времени работы.По этой причине алгоритм Ланцоша сделал возможным приближенное решение многих проблем, которые ранее были неосуществимы в вычислительном отношении.
Вот полезная ссылка на сайт Калифорнийского университета в Дэвисе, где перечислены реализации Ланцоша вряд языков / пакетов, включая FORTRAN, C / C ++ и MATLAB.