我正在用python模拟星系碰撞的项目。我想知道scipy例程使用什么类型的数值方法,以便我可以评估用于我的项目的集成方法,并在我的报告中写一些关于它的内容。我已阅读scipy文档,似乎不清楚 - 似乎使用了一个名为LSODA的东西,但我无法完全理解可用的解释。谢谢你的帮助:)
答案 0 :(得分:2)
LSODA使用线性多步方法:
与L. R. Petzold联合编写的LSODA,当问题僵硬时,用密集或带状雅可比行列式解决系统dy / dt = f,但它会自动选择非刚性(Adams)和刚性(BDF)方法。它最初使用非正式方法,并动态监视数据以决定使用哪种方法。 LSODA源被广泛评论以便于修改。可以使用单精度版本和双精度版本。
(Source)
对于大规模哈密顿系统(如星系碰撞),symplectic integrator可能是更好的选择。