СЛЕПк
Стабильная версия | 3.21 / 30 марта 2024 г |
---|---|
Репозиторий | |
Операционная система | Linux , Unix , Mac OS X , Windows |
Доступно в | C (основной язык), C++, FORTRAN, Python |
Тип | Программное обеспечение для научного моделирования |
Лицензия | Лицензия BSD, 2 пункта |
Веб-сайт | сон |
СЛЕПк [1] это программная библиотека для параллельного вычисления собственных значений и собственных векторов больших разреженных матриц. Его можно рассматривать как модуль PETSc , который предоставляет решатели для различных типов собственных задач, включая линейные (стандартные и обобщенные) и нелинейные ( квадратичные , полиномиальные и общие ), а также SVD . Последние версии также включают поддержку матричных функций . Для распараллеливания он использует стандарт MPI . Поддерживаются как действительная, так и комплексная арифметика с одинарной, двойной и учетверенной точностью.
При использовании SLEPc программист приложения может использовать любые структуры данных и решатели PETSc. Другие функции PETSc также включены в SLEPc, такие как настройка параметров командной строки, автоматическое профилирование, проверка ошибок, переносимость практически на все вычислительные платформы и т. д.
Компоненты
[ редактировать ]EPS предоставляет итерационные алгоритмы для решения линейных задач на собственные значения.
- Krylov methods such as Krylov-Schur, Arnoldi and Lanczos .
- Методы Дэвидсона, такие как обобщенный Дэвидсон и Якоби-Дэвидсон.
- Методы сопряженных градиентов, такие как LOBPCG.
- Контурный интегральный решатель (СНПЧ).
- Интерфейс с некоторыми внешними решателями собственных чисел, такими как ARPACK и BLOPEX .
- Варианты настройки включают в себя: количество желаемых собственных значений, допуск, размер используемых подпространств, часть интересующего спектра.
ST инкапсулирует спектральные преобразования и другие предварительные условия для задач собственных значений.
- Сдвиг-инвертирование и спектральные преобразования Кэли.
- Поддержка предварительно подготовленных собственных решателей (таких как Якоби-Дэвидсон) с использованием предобусловливателей, предоставляемых PETSc.
- Полиномиальные фильтры для внутренних собственных значений.
SVD содержит решатели для разложения по сингулярным значениям, а также для обобщенного разложения по сингулярным значениям .
- Решатели, основанные на матрице перекрестного произведения или циклической матрице, основанные на решателях EPS.
- Конкретные решатели, основанные на двудиагонализации, такие как Голуб-Кахан-Ланчос и вариант с толстым перезапуском.
PEP предназначен для решения полиномиальных задач на собственные значения, включая квадратичную задачу на собственные значения .
- Решатели, основанные на явной линеаризации, основанные на решателях EPS.
- Решатели, которые неявно выполняют линеаризацию с эффективным использованием памяти, например TOAR.
- Решатель Якоби-Дэвидсона для PEP.
НЭП обеспечивает функциональность для решения нелинейной проблемы собственных свойств .
- Базовые решатели, такие как остаточная обратная итерация и последовательные линейные задачи.
- Решатель, основанный на полиномиальной интерполяции, основанный на решателях PEP.
- Решатель на основе рациональной интерполяции (NLEIGS).
MFN можно использовать для вычисления действия матричной функции на вектор.
- A restarted Krylov solver.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ В. Эрнандес; Дж. Э. Роман и В. Видаль (2005). «SLEPc: масштабируемый и гибкий набор инструментов для решения проблем собственных значений» . Транзакции ACM в математическом программном обеспечении . 31 (3): 351–362. дои : 10.1145/1089014.1089019 . S2CID 14305707 .