moble / SphericalFunctions.jl

Spherical functions of arbitrary float types
MIT License
9 stars 2 forks source link

Support half integers #29

Open moble opened 1 year ago

moble commented 1 year ago

It might be possible to just initialize the recursions using formulas like these. In particular, the DLMF has

$$P^{\mu}_{\nu} \left(x\right) = \left(\frac{x+1}{x-1}\right)^{\mu/2} \mathbf{F} \left(\nu+1,-\nu;1-\mu;\tfrac{1}{2}-\tfrac{1}{2}x\right), $$

where $\mathbf{F}$ is "Olver’s scaled hypergeometric function: $F\left(a,b;c;z\right) / \Gamma\left(c\right)$", and I guess $F$ means ${}_2F_1$. (Also note that $\mathsf{P}$ and $P$ mean different things in the DLMF; it looks like $\mathsf{P}_\nu^\mu = (-1)^{\mu/2}P_\nu^\mu$.) Wikipedia claims that these forms obey all the same recursion formulas as for the integer arguments.

The harder problem is that the (interesting) $\mathfrak{D}^{(\ell)}_{m',m}$ matrices have $m',m \in -\ell, -\ell+1, \ldots, \ell$ — odd half integers, never including whole integers — which means that $m'=0$ is not a useful value, which means we can't immediately use $P_{\ell,m}$ to initialize the recursions. However, Choi et al. show how to derive recursions for $\mathfrak{D}$ in terms of recursions for the $Y_{\ell,m}$. Their Eq. (5.11) is the crucial idea; to extend this to half-integer values, we would have to generalize the integral implicit in that equation from extending over the sphere to extending over Spin(3).

Maybe, with a little luck, we would get recursions that look like those we already have for $H$. Maybe we need to use general Jacobi polynomials and their recursions.

moble commented 1 year ago

Thinking about this a little more, it looks like most of the Gumerov-Duraiswami algorithm should work — specifically steps 3,4,5 derive from recursion relations that look independent of whether the indices are integer or half-integer. Step 3 as written doesn't work because it assumes the initial index is 0, but it's not hard to reinterpret the original recursion relation with some other value there. So all the new work seems to boil down to the recursion in Step 2, which involves setting all terms for the initial value of $m'$ — presumably $m'_0=1/2$. Then Step 3 requires using those values to set the values of $m'_0+1$, and so on.

Varshalovich et al. give explicit formulas for $d$ up to $j=5$ in Tables 4.3-4.12. These could be useful for setting the initial half-integer values, and for checking a few higher-order terms. The following tables also give values at $\beta = \pi/2$ that might be good to check against.