docs: def initialize_cma_es(self, lambda_):
          """A strategy that will keep track of the basic parameters.
  
          Parameters
          ----------
          centroid:
              An iterable object that indicates where to start the
              evolution.
          parameter:
              One or more parameter to pass to the strategy as
              described in the following table, optional.
          """
          # Create a centroid as a numpy array
          self.centroid = numpy.array([0] * len(self.value_means))
  
          self.dim = len(self.centroid)
          self.pc = numpy.zeros(self.dim)
          self.ps = numpy.zeros(self.dim)
          self.chiN = numpy.sqrt(self.dim) * (
              1 - 1. / (4. * self.dim) + 1. / (21. * self.dim ** 2))
  
          self.C = numpy.identity(self.dim)
          self.diagD, self.B = numpy.linalg.eigh(self.C)
  
          indx = numpy.argsort(self.diagD)
          self.diagD = self.diagD[indx] ** 0.5
          self.B = self.B[:, indx]
          self.BD = self.B * self.diagD
  
          self.cond = self.diagD[indx[-1]] / self.diagD[indx[0]]
  
          self.lambda_ = lambda_
          self.update_count = 0
          self.compute_params()
          return