是否有使用原生 C99 复杂类型的 C 的开源 ODE 求解器集?

计算科学 C
2021-12-05 02:39:24

我一直在使用GSL作为我的许多模拟的基础,但它对我的目的来说有点过头了,并且出于遗留原因它定义了自己的复杂类型。与其编写我自己的 Runge-Kutta ODE 求解器(这可能效率不高),是否有任何使用原生 C99 复杂类型的开源 ODE 求解器?

2个回答

您可能会认为它“矫枉过正”,但PETSc的时间集成包可以与 C99 complex(配置--with-scalar-type=complex)一起使用。支持的方法包括

这些实现最适合高维问题,例如半离散偏微分方程(线法)。

除非系统相当复杂,否则您的另一个选择是仅将复杂符号转换为具有两个表示实部和虚部的未知数的问题。然后,您可以使用标准的实值 ODE 求解器。