Risbo#

s2fft.recursions.risbo.compute_full(dl: ndarray, beta: float, L: int, el: int) ndarray#

Compute Wigner-d at argument \(\beta\) for full plane using Risbo recursion.

The Wigner-d plane is computed by recursion over \(\ell\). Thus, for \(\ell > 0\) the plane must be computed already for \(\ell - 1\). At present, for \(\ell = 0\) the recusion is initialised.

Parameters:
  • dl (np.ndarray) – Wigner-d plane for \(\ell - 1\) at \(\beta\).

  • beta (float) – Argument \(\beta\) at which to compute Wigner-d plane.

  • L (int) – Harmonic band-limit.

  • el (int) – Spherical harmonic degree \(\ell\).

Returns:

Plane of Wigner-d for \(\ell\) and \(\beta\), with full plane computed.

Return type:

np.ndarray

s2fft.recursions.risbo.compute_full_vectorised(dl: ndarray, beta: ndarray, L: int, el: int) ndarray#

Compute Wigner-d at all arguments \(\beta\) for full plane using Risbo recursion.

The Wigner-d plane is computed by recursion over \(\ell\). Thus, for \(\ell > 0\) the plane must be computed already for \(\ell - 1\). At present, for \(\ell = 0\) the recusion is initialised.

Parameters:
  • dl (np.ndarray) – Wigner-d plane for \(\ell - 1\) and for all \(\beta\).

  • beta (np.ndarray) – Arguments \(\beta\) at which to compute Wigner-d plane.

  • L (int) – Harmonic band-limit.

  • el (int) – Spherical harmonic degree \(\ell\).

Returns:

Plane of Wigner-d for \(\ell\) and all angles \(\beta\),

with full plane computed.

Return type:

np.ndarray

Notes

This function is an implementation of the risbo recursion vectorised to explicitly evaluate the recursion for all betas simultaneously.