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.

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