docs: def specify_data_set(self, x_input, y_input, sort_data=False):
          """
          Fully define data by lists of x values and y values.
  
          This will sort them by increasing x but remember how to unsort them for providing results.
  
          Parameters
          ----------
          x_input : iterable
              list of floats that represent x
          y_input : iterable
              list of floats that represent y(x) for each x
          sort_data : bool, optional
              If true, the data will be sorted by increasing x values.
          """
          if sort_data:
              xy = sorted(zip(x_input, y_input))
              x, y = zip(*xy)
              x_input_list = list(x_input)
              self._original_index_of_xvalue = [x_input_list.index(xi) for xi in x]
              if len(set(self._original_index_of_xvalue)) != len(x):
                  raise RuntimeError('There are some non-unique x-values')
          else:
              x, y = x_input, y_input
  
          self.x = x
          self.y = y