GSL上的自适应显式二阶龙格-库塔方法



GSL中是否有内置的二阶显式Runge-Kutta方案?我知道gsl_odeiv2_step_rk2函数是一个显式嵌入的Runge-Kutta(2,3(方法,它对我执行的所有测试都收敛到三阶方案。

有人能确认(或纠正(我吗?

还有谁能告诉我GSL中的EXPLICIT二阶RK步进类型,用于自适应步进控制吗?

是的,gsl_odeiv2_step_rk2使用三阶Runge-Kutta方法,该方法包含显式中点方法作为嵌入方法。Heun方法和Ralston方法也有类似的扩展,请参阅https://www.math.auckland.ac.nz/~屠夫/ODE-book-2008/教程/low-order-RK.pdf

GSL实现使用外推法变体;错误的";实现了步长控制背后的基本思想。这个基本思想是,通过使用高阶方法的估计来估计该方法的误差,然后调整步长,使得估计的误差渐近地收敛于所要求的误差水平。";正确的";因此,实现这一点的方法是进行二阶中点更新,而不是三阶更新。

或者换言之,对于外推法变体,虽然它使用更高阶的方法,因此通常给出较低的误差,但实际误差相对于误差容限没有下限,并且与此相关,不能保证针对方法的阶数和所要求的误差水平最优地采取步骤。

最新更新