gsl - GSL 上的自适应显式二阶龙格库塔方法
问题描述
GSL 中是否有内置的二阶显式 Runge Kutta 方案?我知道 gsl_odeiv2_step_rk2 函数是一个显式嵌入Runge-Kutta
(2, 3) 方法,它收敛到我执行的所有测试的三阶方案。
任何人都可以确认(或纠正)我吗?
也有人可以请我指出 GSL 中的 EXPLICIT 2nd order RK step type 与自适应步进控制一起使用吗?
解决方案
是的,gsl_odeiv2_step_rk2 使用包含显式中点方法作为嵌入方法的三阶龙格-库塔方法。Heun 方法和 Ralston 方法存在类似的扩展,请参阅https://www.math.auckland.ac.nz/~butcher/ODE-book-2008/Tutorials/low-order-RK.pdf中的 3 阶方法页面
GSL 实现使用外推变体,这是步长控制背后的基本思想的“错误”实现。这个基本思想是通过使用更高阶方法的估计来估计方法的误差,然后调整步长,以便估计的误差渐近地收敛到所要求的误差水平。因此,实现这一点的“正确”方法是采用二阶中点更新,而不是三阶更新。
或者换句话说,对于外推变体,虽然它使用更高阶的方法,因此通常给出的误差较低,但实际误差相对于误差容限没有下限,与此相关,不能保证步骤是针对方法的顺序和请求的错误级别最佳地采取的。
推荐阅读
- javascript - 从 Cloud Function 写入 Firebase 实时数据库
- javascript - 当数据大于零时,如何更改数据的字体颜色?
- performance - 在大型阵列上测试 Dyalog 成语的时间
- c# - 如果 Jquery datepicker 在 onClose 期间尝试触发按钮单击,则无法设置 min\max 日期
- android - 片段中的 ExpandableListView 出错
- java - Intellij 无法正确导出
- node.js - 安装 Node.js windows 10 64bits 时出错
- pdf - 跨云端硬盘帐户将 Google 表格转换为 PDF
- asp.net - 而不是呈现页面 HTML 内容是在 MVC 中呈现
- google-apps-script - 有没有办法使用 Google Apps 脚本阅读 Outlook 电子邮件?