def _compute_sorted_indices(self):
sorted_indices = []<EOL>for to_sort in [self.y] + self.x:<EOL><INDENT>data_w_indices = [(val, i) for (i, val) in enumerate(to_sort)]<EOL>data_w_indices.sort()<EOL>sorted_indices.append([i for val, i in data_w_indices])<EOL><DEDENT>self._yi_sorted = sorted_indices[<NUM_LIT:0>]  <EOL>self._xi_sorted = sorted_indices[<NUM_LIT:1>:]<EOL>
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.