code: def iterate(self, max_iter=150, n_rewightings=1):
          r
  
          self._run_alg(max_iter)
  
          if not isinstance(self._reweight, type(None)):
              for k in range(n_rewightings):
                  self._reweight.reweight(self._linear.op(self._x_new))
                  self._run_alg(max_iter)
  
          # retrieve metrics results
          self.retrieve_outputs()
          # rename outputs as attributes
          self.x_final = self._x_new
          self.y_final = self._y_new
docs: r"""Iterate
  
          This method calls update until either convergence criteria is met or
          the maximum number of iterations is reached
  
          Parameters
          ----------
          max_iter : int, optional
              Maximum number of iterations (default is 150)
          n_rewightings : int, optional
              Number of reweightings to perform (default is 1)