code: def forward(self, dist, angle):
      dist = dist / self.cutoff
      rbf = torch.stack([f(dist) for f in self.bessel_funcs], dim=1)
      sbf = torch.stack([f(angle) for f in self.sph_funcs], dim=1)
      n, k = self.num_spherical, self.num_radial
      out = (rbf.view(-1, n, k) * sbf.view(-1, n, 1)).view(-1, n * k)
      return out
  
file_path: DIG/dig/threedgraph/method/pronet/features.py
imports: import torch
  import sympy
  import numpy
  from scipy.optimize import brentq
  from scipy import special
label_desc: Use image node_id 2 for calling the d_angle_emb obj's underlying member method code with example usage: obj.forward(dist, angle) and returns: out