code: def _update_global_posterior(
              self, rank, m, outer_converged):
          
          if rank == 0:
              self._map_update_posterior()
              self._assign_posterior()
              is_converged, _ = self._converged()
              if is_converged:
                  logger.info("converged at %d outer iter" % (m))
                  outer_converged[0] = 1
              else:
                  self.global_prior_ = self.global_posterior_
          return outer_converged
docs: Update global posterior and then check convergence
  
          Parameters
          ----------
  
          rank : integer
              The rank of current process.
  
          m : integer
              The outer iteration number of HTFA.
  
          outer_converged : 1D array
              Record whether HTFA loop converged
  
  
          Returns
          -------
          1D array, contains only 1 element for MPI
              1 means HTFA converged, 0 means not converged.