docs: def _compute_sorted_indices(self):
          """
          The smoothers need sorted data. This sorts it from the perspective of each column.
  
          if self._x[0][3] is the 9th-smallest value in self._x[0], then  _xi_sorted[3] = 8
  
          We only have to sort the data once.
          """
          sorted_indices = []
          for to_sort in [self.y] + self.x:
              data_w_indices = [(val, i) for (i, val) in enumerate(to_sort)]
              data_w_indices.sort()
              sorted_indices.append([i for val, i in data_w_indices])
          # save in meaningful variable names
          self._yi_sorted = sorted_indices[0]  # list (like self.y)
          self._xi_sorted = sorted_indices[1:]