code: def exclude_topics(excl_topic_indices, doc_topic_distrib, topic_word_distrib=None, renormalize=True,
                     return_new_topic_mapping=False):
      
      new_theta = np.delete(doc_topic_distrib, excl_topic_indices, axis=1)
      if renormalize:
          new_theta /= new_theta.sum(axis=1)[:, None]
  
      if topic_word_distrib is not None:
          new_phi = np.delete(topic_word_distrib, excl_topic_indices, axis=0)
          res_tuple = (new_theta, new_phi)
      else:
          res_tuple = (new_theta, )
  
      if return_new_topic_mapping:
          topic_ind = np.arange(doc_topic_distrib.shape[1])
          old_topic_ind = np.delete(topic_ind, excl_topic_indices)
          res_tuple += (dict(zip(old_topic_ind, range(len(old_topic_ind)))), )
  
      if len(res_tuple) == 1:
          return res_tuple[0]
      else:
          return res_tuple
docs: Exclude topics with the indices `excl_topic_indices` from the document-topic distribution `doc_topic_distrib` (i.e.
      delete the respective columns in this matrix) and optionally re-normalize the distribution so that the rows sum up
      to 1 if `renormalize` is set to `True`.
      Optionally also strip the topics from the topic-word distribution `topic_word_distrib` (i.e. remove the respective
      rows).
  
      If `topic_word_distrib` is given, return a tuple with the updated doc.-topic and topic-word distributions, else
      return only the updated doc.-topic distribution.
  
      *WARNING:* The topics to be excluded are specified by *zero-based indices*.