original_docstring: 
          Perform offline diffusion search for multiple sequences of data point ids.
          Each sequence is aggregated to find the combined neighbors for each sequence.
  
          Args:
              ids: List of lists of ids to use a search queries.
  
          Returns:
              A list of diffusion scores and a list of ids
  
          
docstring: Perform offline diffusion search for multiple sequences of data point ids.
  Each sequence is aggregated to find the combined neighbors for each sequence.
docstring_tokens: Perform offline diffusion search for multiple sequences of data point ids . Each sequence is aggregated to find the combined neighbors for each sequence .
code: def offline_search_multiple(self, ids):
          """
          Perform offline diffusion search for multiple sequences of data point ids.
          Each sequence is aggregated to find the combined neighbors for each sequence.
  
          Args:
              ids: List of lists of ids to use a search queries.
  
          Returns:
              A list of diffusion scores and a list of ids
  
          """
          ids = [_conform_indices(ids_i, ndim=1) for ids_i in ids]
          c_qs = np.concatenate([self._initialize_offline(id_, agg=True) for id_ in ids])
          f_opts = self._diffuse_offline(c_qs)
          f_opts, ranks = _sort2d(f_opts)
  
          f_opts, ranks = zip(
              *[
                  _remove_query_ids_1d(f_opt_i, ranks_i, ids_i)
                  for f_opt_i, ranks_i, ids_i in zip(f_opts, ranks, ids)
              ]
          )
  
          try:
              f_opts, ranks = np.stack(f_opts), np.stack(ranks)
          except ValueError:
              # Variable number of neighbors, so we cant stack into a numpy matrix.
              pass
  
          return f_opts, ranks
code_tokens: def offline_search_multiple ( self , ids ) : ids = [ _conform_indices ( ids_i , ndim = 1 ) for ids_i in ids ] c_qs = np . concatenate ( [ self . _initialize_offline ( id_ , agg = True ) for id_ in ids ] ) f_opts = self . _diffuse_offline ( c_qs ) f_opts , ranks = _sort2d ( f_opts ) f_opts , ranks = zip ( * [ _remove_query_ids_1d ( f_opt_i , ranks_i , ids_i ) for f_opt_i , ranks_i , ids_i in zip ( f_opts , ranks , ids ) ] ) try : f_opts , ranks = np . stack ( f_opts ) , np . stack ( ranks ) except ValueError : pass return f_opts , ranks
short_docstring: Perform offline diffusion search for multiple sequences of data point ids.
short_docstring_tokens: Perform offline diffusion search for multiple sequences of data point ids .
comment: """
          Perform offline diffusion search for multiple sequences of data point ids.
          Each sequence is aggregated to find the combined neighbors for each sequence.
  
          Args:
              ids: List of lists of ids to use a search queries.
  
          Returns:
              A list of diffusion scores and a list of ids
  
          """$SEP$# Variable number of neighbors, so we cant stack into a numpy matrix.