e3j.core.Harmonics

class e3j.core.Harmonics(target: int | str, normalize: bool = False, normalization: str = 'component', 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, one of “component” (default, matching e3nn_jax’s default, \(\|Y^l\|^2 = 2l + 1\)), “integral” (\(\int_{S^2} Y_{lm}^2 = 1\)) or “norm” (\(\|Y^l\| = 1\)),

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

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

Methods

__call__(r)

Evaluate polynomials on a 3D point cloud.

Attributes

__call__(r: Array) Array

Evaluate polynomials on a 3D point cloud.