code: def spherical_bessel_fn(n, x=None, polys=False):
      """
      Coefficients for the spherical Bessel functions.
  
      These are only needed in the jn() function.
  
      The coefficients are calculated from:
  
      fn(0, z) = 1/z
      fn(1, z) = 1/z**2
      fn(n-1, z) + fn(n+1, z) == (2*n+1)/z * fn(n, z)
  
      Parameters
      ==========
  
      n : int
          Degree of the polynomial.
      x : optional
      polys : bool, optional
          If True, return a Poly, otherwise (default) return an expression.
  
      Examples
      ========
  
      >>> from sympy.polys.orthopolys import spherical_bessel_fn as fn
      >>> from sympy import Symbol
      >>> z = Symbol("z")
      >>> fn(1, z)
      z**(-2)
      >>> fn(2, z)
      -1/z + 3/z**3
      >>> fn(3, z)
      -6/z**2 + 15/z**4
      >>> fn(4, z)
      1/z - 45/z**3 + 105/z**5
  
      """
      if x is None:
          x = Dummy("x")
      f = (
          dup_spherical_bessel_fn_minus
          if n < 0
          else dup_spherical_bessel_fn
      )
      return named_poly(abs(n), f, ZZ, "", (QQ(1) / x,), polys)
  
imports: from sympy.core.symbol import Dummy
  from sympy.polys.densearith import dup_mul, dup_mul_ground, dup_lshift, dup_sub, dup_add
  from sympy.polys.domains import ZZ, QQ
  from sympy.polys.polytools import named_poly
  from sympy.utilities import public
label_desc: Use image node_id 19 for calling a global function with example usage: spherical_bessel_fn(n, x, polys) and returns: named_poly