code: def _gs_decorrelation(w, W, j):
      """
      Orthonormalize w wrt the first j rows of W
  
      Parameters
      ----------
      w : ndarray of shape(n)
          Array to be orthogonalized
  
      W : ndarray of shape(p, n)
          Null space definition
  
      j : int < p
          The no of (from the first) rows of Null space W wrt which w is
          orthogonalized.
  
      Notes
      -----
      Assumes that W is orthogonal
      w changed in place
      """
      w -= np.dot(np.dot(w, W[:j].T), W[:j])
      return 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 1 for calling a global function with example usage: _gs_decorrelation(w, W, j) and returns: w