docs: def elli(self, x, rot=0, xoffset=0, cond=1e6, actuator_noise=0.0, both=False):
          """Ellipsoid test objective function"""
          if not isscalar(x[0]):  # parallel evaluation
              return [self.elli(xi, rot) for xi in x]  # could save 20% overall
          if rot:
              x = rotate(x)
          N = len(x)
          if actuator_noise:
              x = x + actuator_noise * np.random.randn(N)
  
          ftrue = sum(cond**(np.arange(N) / (N - 1.)) * (x + xoffset)**2)
  
          alpha = 0.49 + 1. / N
          beta = 1
          felli = np.random.rand(1)[0]**beta * ftrue * \
                  max(1, (10.**9 / (ftrue + 1e-99))**(alpha * np.random.rand(1)[0]))
          # felli = ftrue + 1*np.random.randn(1)[0] / (1e-30 +
          #                                           np.abs(np.random.randn(1)[0]))**0
          if both:
              return (felli, ftrue)
          else:
              # return felli  # possibly noisy value
              return ftrue  # + np.random.randn()