docs: def _mirror_idx_cov(self, f_values, idx1):  # will most likely be removed
          """obsolete and subject to removal (TODO),
          return indices for negative ("active") update of the covariance matrix
          assuming that ``f_values[idx1[i]]`` and ``f_values[-1-i]`` are
          the corresponding mirrored values
  
          computes the index of the worse solution sorted by the f-value of the
          better solution.
  
          TODO: when the actual mirror was rejected, it is better
          to return idx1 instead of idx2.
  
          Remark: this function might not be necessary at all: if the worst solution
          is the best mirrored, the covariance matrix updates cancel (cave: weights
          and learning rates), which seems what is desirable. If the mirror is bad,
          as strong negative update is made, again what is desirable.
          And the fitness--step-length correlation is in part addressed by
          using flat weights.
  
          """
          idx2 = np.arange(len(f_values) - 1, len(f_values) - 1 - len(idx1), -1)
          f = []
          for i in rglen((idx1)):
              f.append(min((f_values[idx1[i]], f_values[idx2[i]])))
              # idx.append(idx1[i] if f_values[idx1[i]] > f_values[idx2[i]] else idx2[i])
          return idx2[np.argsort(f)][-1::-1]