# galpy.potential.scf_compute_coeffs_axi¶

Note: This function computes Acos and Asin as defined in Hernquist & Ostriker (1992), except that we multiply Acos by 2 such that the density from Galpy’s Hernquist Potential corresponds to $$Acos = \delta_{0n}\delta_{0l}\delta_{0m}$$.

Further note that this function is a specification of scf_compute_coeffs where $$Acos_{nlm} = 0$$ at $$m\neq0$$ and $$Asin_{nlm} = None$$

For a given $$\rho(R, z)$$ we can compute $$Acos$$ and $$Asin$$ through the following equation

$Acos_{nlm}= \frac{8 \pi a^3}{I_{nl}} \int_{\xi=0}^{\infty} \int_{\cos(\theta)=-1}^{1} (1 + \xi)^{2} (1 - \xi)^{-4} \rho(R, z) \Phi_{nlm}(\xi, \cos(\theta)) d\cos(\theta) d\xi \qquad Asin_{nlm}=None$

Where

$\Phi_{nlm}(\xi, \cos(\theta)) = -\frac{\sqrt{2l + 1}}{a2^{2l + 1}} (1 + \xi)^l (1 - \xi)^{l + 1} C_{n}^{2l + 3/2}(\xi) P_{l0}(\cos(\theta)) \delta_{m0}$
$I_{nl} = - K_{nl} \frac{4\pi}{a 2^{8l + 6}} \frac{\Gamma(n + 4l + 3)}{n! (n + 2l + 3/2)[\Gamma(2l + 3/2)]^2} \qquad K_{nl} = \frac{1}{2}n(n + 4l + 3) + (l + 1)(2l + 1)$

$$P_{lm}$$ is the Associated Legendre Polynomials whereas $$C_{n}^{\alpha}$$ is the Gegenbauer polynomial.

Also note $$\xi = \frac{r - a}{r + a}$$, and $$n$$, $$l$$ and $$m$$ are integers bounded by $$0 <= n < N$$ , $$0 <= l < L$$, and $$m = 0$$

galpy.potential.scf_compute_coeffs_axi(dens, N, L, a=1.0, radial_order=None, costheta_order=None)[source]

NAME:

scf_compute_coeffs_axi

PURPOSE:

Numerically compute the expansion coefficients for a given axi-symmetric density

INPUT:

dens - A density function that takes a parameter R and z

N - size of the Nth dimension of the expansion coefficients

L - size of the Lth dimension of the expansion coefficients

a - parameter used to shift the basis functions

radial_order - Number of sample points of the radial integral. If None, radial_order=max(20, N + 3/2L + 1)

costheta_order - Number of sample points of the costheta integral. If None, If costheta_order=max(20, L + 1)

OUTPUT:

(Acos,Asin) - Expansion coefficients for density dens that can be given to SCFPotential.__init__

HISTORY:

2016-05-20 - Written - Aladdin Seaifan (UofT)