def METHOD_NAME(self):
    """ check for convergence
    Args:
        self (object): create by prep
    Returns:
       converged?: True if converged, False otherwise
    """
    primal_gap = self._compute_primal_convergence()
    dual_gap = self._compute_dual_residual()
    self.prev_xbars = self._get_xbars()
    ret_val = max(primal_gap, dual_gap) <= self.convergence_threshold
    if self._verbose and self._rank == 0:
        print(f"primal gap = {round(primal_gap, 5)}, dual gap = {round(dual_gap, 5)}")
        if ret_val:
            print("Dual convergence check passed")
        else:
            print("Dual convergence check failed "
                  f"(requires primal + dual gaps) <= {self.convergence_threshold}")
    if self.tracking and self._rank == 0:
        self.tracker.add_row([self._ph._PHIter, primal_gap, dual_gap])
        self.tracker.write_out_data()
    return ret_val