IterativeSolvers.jl
IterativeSolvers.jl — это пакет Julia, который предоставляет эффективные итерационные алгоритмы для решения больших линейных систем, задач на нахождение собственных значений и задач с сингулярными значениями. Большинство методов можно использовать без матрицы.
Для получения отчетов об ошибках, запросов на получение функций и при возникновении вопросов следует отправить проблему. Если вы заинтересованы в участии в проекте, ознакомьтесь с руководством для участников.
Для получения дополнительной информации о будущих методах просмотрите план реализации для пакета.
Какой метод следует использовать для линейных систем?
При решении линейных систем для квадратной матрицы существует довольно много возможностей. Ниже перечислены типичные варианты.
| Метод | Когда его использовать | 
|---|---|
| Лучший вариант для симметричных, положительно определенных матриц | |
| Для симметричных, неопределенных матриц | |
| Для несимметричных матриц при наличии хорошего предобуславливателя | |
| Для несимметричных, строго неопределенных задач без хорошего предобуславливателя | |
| В ином случае для несимметричных задач | 
Когда известны границы спектра, мы также предлагаем итерацию Чебышева в качестве альтернативы методу сопряженных градиентов.
Стационарные методы Jacobi, Gauss-Seidel, SOR и SSOR можно использовать в качестве сглаживателей, чтобы уменьшить количество высокочастотных компонентов в ошибке всего за несколько итераций.
Задачи на нахождение собственных значений и SVD
Для сингулярной декомпозиции мы предлагаем SVDL — процедуру Голуба-Кахана-Ланцоша.
Для решения задач на нахождение собственных значений на данный момент у нас есть только степенной метод и некоторые вспомогательные оболочки для сдвига и инвертирования.