e3j.core.Harmonics

class e3j.core.Harmonics(target: int | str, normalize: bool = False, normalization: str = 'norm', real: bool = True)

Evaluation module for harmonic polynomials.

This class provides additional control and options over polynomial evaluation, e.g. by safely projecting inputs on the S2 sphere of by rescaling polynomials by L2-norm, dimension (2l + 1), etc.

Parameters:
  • out (int | str) – output representation, integers being interpreted as l in range(0, out + 1),

  • normalize (bool) – whether to project inputs on the S2 sphere,

  • normalization (str) – momentum-dependent normalization factor,

  • real (bool) – use real spherical harmonics \(Y_{lm}\) by default, switch off for complex eigenvalues \(Y_l^m = |lm⟩\) of \(J_z, J^2\).

Methods

__call__(r)

Evaluate polynomials on a 3D point cloud.

__init__(target[, normalize, normalization, ...])

Initialise polynomials Y(l) for l in out (or l <= l_max).

Attributes

__call__(r: Array) Array

Evaluate polynomials on a 3D point cloud.

__init__(target: int | str, normalize: bool = False, normalization: str = 'norm', real: bool = True)

Initialise polynomials Y(l) for l in out (or l <= l_max).