sasktran2.util.WignerD

sasktran2.util.WignerD#

class sasktran2.util.WignerD(self: sasktran2._core.WignerD, m: int, n: int)#

Bases: pybind11_object

Performs calculations of the Wigner (small) d function, \(d^l_{m, n}(\theta)\).

First, this class is constructed for a given m and n, and then d() is called for a given l.

The Wigner functions are closely related to the associated Legendre polynomials, .. math:

d^l_{m, 0}(\theta) = \sqrt{\frac{(l-m)!}{(l+m)!}} P^m_l(\cos \theta)

and the regular Legendre polynomials, .. math:

d^l_{0, 0}(\theta) = P_l(\cos \theta)
Parameters:
  • m (int) – The parameter m in \(d^l_{m, n}\)

  • n (int) – The parameter n in \(d^l_{m, n}\)

__init__(self: sasktran2._core.WignerD, m: int, n: int) None#

Performs calculations of the Wigner (small) d function, \(d^l_{m, n}(\theta)\).

First, this class is constructed for a given m and n, and then d() is called for a given l.

The Wigner functions are closely related to the associated Legendre polynomials, .. math:

d^l_{m, 0}(\theta) = \sqrt{\frac{(l-m)!}{(l+m)!}} P^m_l(\cos \theta)

and the regular Legendre polynomials, .. math:

d^l_{0, 0}(\theta) = P_l(\cos \theta)
Parameters:
  • m (int) – The parameter m in \(d^l_{m, n}\)

  • n (int) – The parameter n in \(d^l_{m, n}\)

Methods

__init__(self, m, n)

Performs calculations of the Wigner (small) d function, \(d^l_{m, n}(\theta)\).

d(self, theta, l)

Calculates \(d^l_{m, n}(\theta)\) for a given l, and m, n provided in the constructor.

d(self: sasktran2._core.WignerD, theta: numpy.ndarray[numpy.float64], l: numpy.ndarray[numpy.int32]) object#

Calculates \(d^l_{m, n}(\theta)\) for a given l, and m, n provided in the constructor. Note that only one of theta, l can be array-like, one must be scalar.

Parameters:
  • theta (numpy.ndarray[numpy.float64]) – Angles (in radians) to calculate the function at

  • l (numpy.ndarray[numpy.int32]) – The parameter n in \(d^l_{m, n}\)

Returns:

The calculated Wigner function, either scalar or the same size as theta or l, whichever is array-like.

Return type:

np.array