code: def bessel_basis(n, k):
      """
      Compute the sympy formulas for the normalized and rescaled spherical bessel functions up to
      order n (excluded) and maximum frequency k (excluded).
      Returns:
          bess_basis: list
              Bessel basis formulas taking in a single argument x.
              Has length n where each element has length k. -> In total n*k many.
      """
      zeros = Jn_zeros(n, k)
      normalizer = []
      for order in range(n):
          normalizer_tmp = []
          for i in range(k):
              normalizer_tmp += [
                  0.5 * Jn(zeros[order, i], order + 1) ** 2
              ]
          normalizer_tmp = (
              1 / np.array(normalizer_tmp) ** 0.5
          )  # sqrt(2/(j_l+1)**2) , sqrt(1/c**3) not taken into account yet
          normalizer += [normalizer_tmp]
  
      f = spherical_bessel_formulas(n)
      x = sym.symbols("x")
      bess_basis = []
      for order in range(n):
          bess_basis_tmp = []
          for i in range(k):
              bess_basis_tmp += [
                  sym.simplify(
                      normalizer[order][i]
                      * f[order].subs(x, zeros[order, i] * x)
                  )
              ]
          bess_basis += [bess_basis_tmp]
      return bess_basis
  
file_path: DIG/dig/threedgraph/method/comenet/ocp/utils.py
imports: import torch
  import sympy
  import numpy
  from scipy.optimize import brentq
  from scipy import special
label_desc: Use image node_id 4 for calling a global function with example usage: bessel_basis(n, k) and returns: bess_basis