'return C**-1/2 times mat, where mat can be a vector or matrix'

def divCroot(self, mat):

    print('WARNING:    divCroot    is    not    yet    tested')
    if ((self.opts['CMA_diagonal'] is True) or (self.countiter <= self.opts['CMA_diagonal'])):
        res = (self._Crootinv * mat.T).T
    else:
        res = np.dot(self._Crootinv, mat)
    return res
