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 asl 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, matchinge3nn_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.