parameters: (compressed: np.ndarray, order: int)
return_statement: return complete
docstring: Form multidimensional multipole array from unique components array.
  
      Parameters
      ----------
      order
          Multipole order. e.g., 1 for dipole, 4 for hexadecapole.
      compressed
          Multipole array, length (order + 1) * (order + 2) / 2 compressed to unique components.
  
      Returns
      -------
      complete : numpy.ndarray
          Multipole array, order-dimensional Cartesian array expanded to complete components.
docstring_summary: Form multidimensional multipole array from unique components array.
docstring_tokens: Form multidimensional multipole array from unique components array .
function: def _multipole_plumper(compressed: np.ndarray, order: int) -> np.ndarray:
      """Form multidimensional multipole array from unique components array.
  
      Parameters
      ----------
      order
          Multipole order. e.g., 1 for dipole, 4 for hexadecapole.
      compressed
          Multipole array, length (order + 1) * (order + 2) / 2 compressed to unique components.
  
      Returns
      -------
      complete : numpy.ndarray
          Multipole array, order-dimensional Cartesian array expanded to complete components.
  
      """
      shape = tuple([3] * order)
      complete = np.zeros(shape)
  
      def compound_index(counter):
          # thanks, https://www.pamoc.it/tpc_cart_mom.html Eqn 2.2!
          # jn = nz + (ny + nz)(ny + nz + 1) / 2
          return int(
              counter.get("2", 0) + (counter.get("1", 0) + counter.get("2", 0)) *
              (counter.get("1", 0) + counter.get("2", 0) + 1) / 2)
  
      for idx in product("012", repeat=order):
          xyz_counts = Counter(idx)  # "010" --> {"0": 2, "1": 1}
          np_index = tuple(int(x) for x in idx)  # ('0', '1') --> (0, 1)
  
          complete[np_index] = compressed[compound_index(xyz_counts)]
  
      return complete
function_tokens: def _multipole_plumper ( compressed : np . ndarray , order : int ) -> np . ndarray : shape = tuple ( [ 3 ] * order ) complete = np . zeros ( shape ) def compound_index ( counter ) : # thanks, https://www.pamoc.it/tpc_cart_mom.html Eqn 2.2! # jn = nz + (ny + nz)(ny + nz + 1) / 2 return int ( counter . get ( "2" , 0 ) + ( counter . get ( "1" , 0 ) + counter . get ( "2" , 0 ) ) * ( counter . get ( "1" , 0 ) + counter . get ( "2" , 0 ) + 1 ) / 2 ) for idx in product ( "012" , repeat = order ) : xyz_counts = Counter ( idx ) # "010" --> {"0": 2, "1": 1} np_index = tuple ( int ( x ) for x in idx ) # ('0', '1') --> (0, 1) complete [ np_index ] = compressed [ compound_index ( xyz_counts ) ] return complete