xnn.cnn.models.steerable.angular_kernel_basis#

xnn.cnn.models.steerable.angular_kernel_basis(l_in, l_out, J, points)[source]#

The angular part of the steerable kernel basis (eqs 13-16).

kappa^{jl,J}(x)[i, k] = sum_M C^{jlJ}_{ikM} Y^J_M(x / |x|), with the real spherical harmonics Y^J of e3nn and the real Clebsch-Gordan coefficients C (o3.wigner_3j), which form the change of basis Q of eq 14: [D^j (x) D^l](r) C = C D^J(r). The block therefore satisfies the steerability constraint kappa(r x) = D^j(r) kappa(x) D^l(r)^T of eq 12, which the tests verify. At the origin the value is the constant Y^0 for J = 0 and zero otherwise.

Parameters:
  • l_in (int) – Orders l and j of the input and output fields.

  • l_out (int) – Orders l and j of the input and output fields.

  • J (int) – Angular frequency, |j - l| <= J <= j + l.

  • points (Tensor) – Sample points, shape (..., 3).

Returns:

Shape (2 l_out + 1, 2 l_in + 1, ...) in float64.

Return type:

Tensor