Каковы лучшие пакеты / интерфейсы Python для разреженных прямых решателей?

11

Пожалуйста, перечислите пакет Python (petsc4py и т. Д.) И разреженные прямые решатели, которые он поддерживает. Один (Community-Wiki) ответ на пакет, пожалуйста.

Md. Golam Rashed
источник
У меня сложилось впечатление, что «списочные» вопросы на StackExchange считались дурным тоном.
Джек Поулсон,
в общем, мы оставляем этот эксперимент в качестве эксперимента и провоцируем дискуссию здесь
Арон Ахмадиа
@JackPoulson: они плохая форма. Вопрос, вероятно, следует перефразировать. Арон сделал много сортировки, что сделало его намного лучше. Как таковой, мы оставляем это как эксперимент, чтобы проверить правильность формулировки вопросов «один ответ на пакет». Потенциальных ответов не так много (я думаю), поэтому я не думаю, что список ответов станет неуправляемо длинным. Неопределенно определенная главная критика «списочных вопросов» заключается в том, что их трудно поддерживать.
Джефф Оксберри

Ответы:

10

Все прямые решатели, поддерживаемые PETSc, доступны на Python через общий интерфейс через petsc4py . В число поддерживаемых пакетов разреженного прямого решателя входят собственные решатели непосредственного решения PETSc, MUMPS, PasTiX, SuperLU, SuperLU_DIST, Umfpack, CHOLMOD, Spooles, LUSOL, MATLAB и ESSL. Смотрите MATSOLVER*справочные страницы здесь .

Джед Браун
источник
8

SciPy поддерживает разреженную линейную алгебру через scipy.sparse.linalg(см. Документацию SciPy ). SciPy поддерживает разреженные пакеты прямого решения SuperLU и UMFPACK.

Джефф Оксберри
источник
4

Все прямые решатели, поддерживаемые Trilinos через Amesos , доступны в Python через общий интерфейс через PyTrilinos . Поддерживаемые разреженные пакеты прямого решения включают UMFPACK, TAUCS, PARDISO, SuperLU и MUMPS. Посмотрите этот технический отчет, обсуждающий разреженную линейную алгебру с PyTrilinos для некоторых примеров.

Джефф Оксберри
источник