code: def _svd_cross_product(X, Y):
      C = np.dot(X.T, Y)
      U, s, Vh = linalg.svd(C, full_matrices=False)
      u = U[:, [0]]
      v = Vh.T[:, [0]]
      return u, v
  
imports: from distutils.version import LooseVersion
  from sklearn.utils.extmath import svd_flip
  from ..base import BaseEstimator, RegressorMixin, TransformerMixin
  from ..utils import check_array, check_consistent_length
  from ..externals import six
  import warnings
  from abc import ABCMeta, abstractmethod
  import numpy
  from scipy import linalg
  from ..utils import arpack
  from ..utils.validation import check_is_fitted, FLOAT_DTYPES
  import scipy
label_desc: Use image node_id 2 for calling a global function with example usage: _svd_cross_product(X, Y) and returns: u,  v