'whiten the data by linear transformation
Parameters
x : array-like, 1d or 2d
Data to be whitened, if 2d then each row contains an independent
sample of the multivariate random vector
Returns
np.dot(x, self.cholsigmainv.T)
Notes
This only does rescaling, it doesn\'t subtract the mean, use standardize
for this instead
See Also
standardize : subtract mean and rescale to standardized random variable.'

def whiten(self, x):

    x = np.asarray(x)
    return np.dot(x, self.cholsigmainv.T)
