code: def _sym_decorrelation(W):
      """Symmetric decorrelation
      i.e. W <- (W * W.T) ^{-1/2} * W
      """
      s, u = linalg.eigh(np.dot(W, W.T))
      # u (resp. s) contains the eigenvectors (resp. square roots of
      # the eigenvalues) of W * W.T
      return np.dot(np.dot(u * (1.0 / np.sqrt(s)), u.T), W)
  
imports: import warnings
  import numpy
  from scipy import linalg
  from ..base import BaseEstimator, TransformerMixin
  from ..externals import six
  from ..externals.six import moves
  from ..utils import check_array, as_float_array, check_random_state
  from ..utils.extmath import fast_dot
  from ..utils.validation import check_is_fitted
  from ..utils.validation import FLOAT_DTYPES
label_desc: Use image node_id 2 for calling a global function with example usage: _sym_decorrelation(W) and returns: np