code: def check_convergence(self):
      if self.tolerance == 0.0:
          return False
  
      elif self.is_converged_:
          return True
  
      largest_dw = ivy.max(ivy.abs(self.weight - self.prev_weight))
      self.prev_weight = self.weight.copy()
  
      self.is_converged_ = largest_dw <= self.tolerance
      return self.is_converged_
  
file_path: ivy/ivy/functional/frontends/xgboost/gbm/gbm.py
imports: import ivy
  from ivy.functional.frontends.xgboost.objective.regression_loss import LogisticRegression
  from ivy.functional.frontends.xgboost.linear.updater_coordinate import coordinate_updater
  from copy import deepcopy
label_desc: Use image node_id 4 for calling the GBLinear obj's underlying member method code with example usage: obj.check_convergence() and returns: self, False, True