我正在使用“基本”实现自适应 3D FMM翻译操作员。我正在寻找有关多极到多极 (M2M) 转换运算符的说明。我将解释我的理解:在方程 6.26 中,参数多极子的坐标是子框相对于移到原点的父框坐标的坐标。此外,多极矩是孩子的那些,它解释了孩子中包含的所有粒子,并使用 (6) 计算,其中多极子的参数是子框中的粒子相对于移到原点的子框的坐标。

在我的实现中,我通过使用 (1) 子盒的多极矩和 (2) 多极矩在离子盒的父级足够远的点评估多极展开(方程 5)来测试 M2M 算子子框翻译成父框。也就是说,父盒子中唯一考虑的粒子是那些也包含在子盒子中的粒子。我的理解是,由此产生的电位在分析上是精确的;这些值之间的唯一误差应归因于浮点误差。但是,我的测试返回的相对误差非常高,见下文(我对自适应改进中创建的 4 个框中的每一个重复步骤(1)和(2))。
我想知道这个错误是否归因于我对上述基本定理的理解?我已经测试了代码库的其他方面,我认为这些方面也会影响错误。

