我有兴趣实施快速多极方法来有效地模拟排斥粒子系统。
我找到了大量讨论 FMM 的参考资料,但对于想要完全理解该算法的非数学家来说,似乎没有一个非常容易理解。
您能否推荐一个清晰地解释该过程背后的数学原理并包含示例正确实现的伪代码的基础参考?
我绝不是 FMM 方面的专家,但是这个java 实现和介绍是迄今为止我找到的最好的资源,可以仔细而缓慢地解释它。该论文擅长在使用术语之前对其进行定义,并且代码至少可以用作参考点。数学仍然很快变得毛茸茸,但它就是这样:)
紧随其后的是对快速多极方法的简单介绍。它没有解释有效的 FMM 实现的实际细节,但它很好地介绍了基本思想。
我喜欢FMM 的短期课程。在一维中从FMM开始,而不是在二维中使用复变量理论来进行FMM。还有使用球谐函数理论的疯狂 3D 版本,我想这对于非数学家来说可能非常困难。但是如果你只需要二维的 FMM,你应该没问题。
不幸的是,那里没有给出伪代码。
但是你真的需要 FMM 的准确性吗?你可能对Barnes-Hut 的算法没问题