Я использовал GSL в качестве основы для многих моих симуляций, но это немного излишне для моих целей и определяет собственный сложный тип по старым причинам. Вместо того, чтобы кодировать мой собственный решатель ODE Runge-Kutta, который, вероятно, не очень эффективен, существуют ли какие-либо решатели ODE с открытым исходным кодом, которые используют собственный сложный тип C99?
12
Ответы:
Вы можете считать это «излишним», но пакет интеграции времени PETSc может использоваться с комплексом C99 (настройка
--with-scalar-type=complex
). Поддерживаемые методы включаютЭти реализации являются наиболее подходящими для многомерных задач, таких как полудискретизированные уравнения в частных производных (метод прямых).
источник
Другой вариант, если у вас нет достаточно сложной системы, - просто преобразовать сложную запись в задачу с двумя неизвестными, которые представляют действительную и мнимую части. Затем вы можете использовать стандартный вещественный решатель ODE.
источник