7

我有兴趣实施快速多极方法来有效地模拟排斥粒子系统。

我找到了大量讨论 FMM 的参考资料,但对于想要完全理解该算法的非数学家来说,似乎没有一个非常容易理解。

您能否推荐一个清晰地解释该过程背后的数学原理并包含示例正确实现的伪代码的基础参考?

4

3 回答 3

3

我绝不是 FMM 方面的专家,但是这个java 实现和介绍是迄今为止我找到的最好的资源,可以仔细而缓慢地解释它。该论文擅长在使用术语之前对其进行定义,并且代码至少可以用作参考点。数学仍然很快变得毛茸茸,但它就是这样:)

紧随其后的是对快速多极方法的简单介绍。它没有解释有效的 FMM 实现的实际细节,但它很好地介绍了基本思想。

于 2013-03-19T17:21:54.280 回答
3

我喜欢FMM 的短期课程。在一维中从FMM开始,而不是在二维中使用复变量理论来进行FMM。还有使用球谐函数理论的疯狂 3D 版本,我想这对于非数学家来说可能非常困难。但是如果你只需要二维的 FMM,你应该没问题。

不幸的是,那里没有给出伪代码。

但是你真的需要 FMM 的准确性吗?你可能对Barnes-Hut 的算法没问题

于 2013-05-15T09:11:44.577 回答
1

在遇到与您类似的问题后,我最终编写了一个完整记录的 Python 快速多极方法实现,pybbfmm。我还写了一个简短的、不含数学的教程,介绍了该方法的工作原理。总之,我认为它们比我能找到的任何其他演示文稿都更易于访问。

(元:虽然这实际上是一个链接帖子,但 OP 明确要求提供一个链接。我已经添加了我认为最后一个链接中缺少的内容 - 库的名称 - 但我不确定如何提供这个除了作为名称和链接之外的答案。当然,它不会比接受的答案感觉更多的链接帖子。如果这个也被删除,我会放弃)

于 2020-07-24T14:42:44.580 回答