calc_sn

luminet.black_hole_math.calc_sn(p: float, angle: float, bh_mass: float, incl: float, order: int = 0) float

Calculate the elliptic function \(\text{sn}\)

For direct images, this is:

\[\text{sn} \left( \frac{\gamma}{2 \sqrt{P/Q}} + F(\zeta_{\infty}, k) \right)\]

For higher order images, this is:

\[\text{sn} \left( \frac{\gamma - 2n\pi}{2 \sqrt{P/Q}} - F(\zeta_{\infty}, k) + 2K(k) \right)\]

Here, \(F\) is the incomplete elliptic integral of the first kind, and \(K\) is the complete elliptic integral of the first kind. Elliptic integrals and elliptic functions are related:

\[\begin{split}u &= F(\phi,m) \\ \text{sn}(u|m) &= sin(\phi)\end{split}\]

Attention

Note that scipy uses the modulus \(m = k^2\) in the elliptic integrals, not the modulus \(k\).

Parameters:
  • p (float) – periastron distance

  • angle (float) – Angle in the black hole frame \(\alpha\)

  • bh_mass (float) – Black hole mass

  • incl (float) – Inclination of the observer \(\theta_0\)

  • order (int) – Order of the image. Default is \(0\) (direct image).

Returns:

float – Value of the elliptic integral \(\text{sn}\)