code: def _assign_posterior(self):
          
  
          prior_centers = self.get_centers(self.global_prior_)
          posterior_centers = self.get_centers(self.global_posterior_)
          posterior_widths = self.get_widths(self.global_posterior_)
          posterior_centers_mean_cov =\
              self.get_centers_mean_cov(self.global_posterior_)
          posterior_widths_mean_var =\
              self.get_widths_mean_var(self.global_posterior_)
          # linear assignment on centers
          cost = distance.cdist(prior_centers, posterior_centers, 'euclidean')
          _, col_ind = linear_sum_assignment(cost)
          # reorder centers/widths based on cost assignment
          self.set_centers(self.global_posterior_, posterior_centers)
          self.set_widths(self.global_posterior_, posterior_widths)
          # reorder cov/var based on cost assignment
          self.set_centers_mean_cov(
              self.global_posterior_,
              posterior_centers_mean_cov[col_ind])
          self.set_widths_mean_var(
              self.global_posterior_,
              posterior_widths_mean_var[col_ind])
          return self
docs: assign posterior to the right prior based on
             Hungarian algorithm
  
          Returns
          -------
          HTFA
              Returns the instance itself.