Я ищу эффективный eigensolver (язык не важен, хотя я буду программировать на C #), который использует многоядерные функции, имеющиеся в современном процессоре. Возможность работать напрямую с pardiso solver - это большой плюс. Моя матрица в основном разреженная матрица , поэтому идеальный решатель должен иметь возможность воспользоваться этим фактом и значительно увеличить использование памяти и производительность.
Пока я нашел только LAPACK и ARPACK . LAPACK , реализованный в Intel MKL , является хорошим кандидатом, поскольку предлагает многоядерную оптимизацию. Но похоже, что драйверы внутри LAPACK не работают напрямую с pardiso solver, более того, похоже, что они не используют преимущества разреженной матрицы (но я не уверен в этом).
ARPACK, с другой стороны, кажется довольно сложным для установки в среде Windows, и параллельная версия, PARPACK , не работает так хорошо . Бонус в том, что он может работать с pardiso solver .
Лучше всего будет Intel MKL + ARPACK с многоядерным ускорением. Не уверен, есть ли какие-либо существующие реализации, которые уже делают то, что я хочу сделать?