4
$\begingroup$

While implementing the Multipole-to-Multipole translation (M2M) with the following equation,

$$\phi(P) = \sum_{j=0}^\infty \sum_{k=-j}^j \frac{M_j^k}{r^{j+1}} Y_j^k(\theta,\phi)$$

where, $$M_j^k=\sum_{n=0}^j \sum_{m=-n}^n \frac{O_{j-n}^{k-m} i^{|k|-|m|-|k-m|} A_n^m A_{j-n}^{k-m} \rho^n Y_n^{-m}(\alpha,\beta) }{A_j^k}$$

with

$$A_n^m=\frac{(-1)^n}{\sqrt{(n-m)!(n+m)!}}$$

in my evaluation the matrix coeffienct $A_{j-n}^{k-m}$ is resulting in a zero division error.

This is because the denominator in the equation,

$$\sqrt{(n-m)!(n+m)!}=\sqrt{(k-m-j+n)!(k-m+j-n)!}$$

is sometimes 0, as I've found that one of the factorials being evaluated is negative. I've taken a lot of care to ensure that my code is exactly the same as the original paper [1]. From just looking at the summation $k \in [-j, j]$ and $m \in [-j, j]$ so $k-m \in [-2j, 2j]$ and similarly $j-n \in [0, j]$, so I can see how negative numbers in the factorial are possible. But I must be making a mistake, as this shouldn't be the case.

Does anyone have a clue in terms of what I'm doing wrong?

References:

[1] L. Greengard, The Rapid Evaluation of Potential Fields in Particle Systems (1987)

$\endgroup$
2
$\begingroup$

Your bounds for the sum on $m$ are not right. Check https://home.cscamm.umd.edu/programs/fam04/dg_lecture6.pdf $$ M_j^k = \sum_{n = 0}^{j} \sum_{m = \max(k+n-j,-n)}^{\min(k+j-n, n)} [...] $$

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.