class_docstr: Base Class for multivariate elliptical distributions, normal and t
  
  contains common initialization, and some common methods
  subclass needs to implement at least rvs and logpdf methods
class_docstr_tok: ["Base","Class","for","multivariate","elliptical","distributions",",","normal","and","t","contains","common","initialization",",","and","some","common","methods","subclass","needs","to","implement","at","least","rvs","and","logpdf","methods"]
docstr: 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 does not subtract the mean, use standardize
  for this instead
  
  See Also
  --------
  standardize : subtract mean and rescale to standardized random variable.
code: def whiten(self, x):
      """
      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 does not subtract the mean, use standardize
      for this instead
  
      See Also
      --------
      standardize : subtract mean and rescale to standardized random variable.
      """
      x = np.asarray(x)
      return np.dot(x, self.cholsigmainv.T)
  
imports: import numpy
  from scipy import special
  from statsmodels.sandbox.distributions.multivariate import mvstdtprob
  from .extras import mvnormcdf
label_desc: Use image node_id 6 for calling the MVElliptical obj's underlying member method code with example usage: obj.whiten(x) and returns: np