code: def minimum_image(coords, pbc):
      
      # This will do the broadcasting
      coords = np.array(coords)
      pbc = np.array(pbc)
  
      # For each coordinate this number represents which box we are in
      image_number = np.floor(coords / pbc)
  
      wrap = coords - pbc * image_number
      return wrap
docs: Wraps a vector collection of atom positions into the central periodic
      image or primary simulation cell.
  
      Parameters
      ----------
      pos : :class:`numpy.ndarray`, (Nx3)
      Vector collection of atom positions.
  
      Returns
      -------
      wrap : :class:`numpy.ndarray`, (Nx3)
      Returns atomic positions wrapped into the primary simulation
      cell, or periodic image.