code: def test_singular_value_helpers(
      n_samples, n_features, global_random_seed
  ):
      # Make sure SVD and power method give approximately the same results
      X, Y = make_regression(
          n_samples,
          n_features,
          n_targets=5,
          random_state=global_random_seed,
      )
      u1, v1, _ = _get_first_singular_vectors_power_method(
          X, Y, norm_y_weights=True
      )
      u2, v2 = _get_first_singular_vectors_svd(X, Y)
  
      _svd_flip_1d(u1, v1)
      _svd_flip_1d(u2, v2)
  
      rtol = 1e-3
      # Setting atol because some coordinates are very close to zero
      assert_allclose(u1, u2, atol=u2.max() * rtol)
      assert_allclose(v1, v2, atol=v2.max() * rtol)
  
imports: import warnings
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_almost_equal, assert_array_equal
  from sklearn.cross_decomposition import CCA, PLSSVD, PLSCanonical, PLSRegression
  from sklearn.cross_decomposition._pls import _center_scale_xy, _get_first_singular_vectors_power_method, _get_first_singular_vectors_svd, _svd_flip_1d
  from sklearn.datasets import load_linnerud, make_regression
  from sklearn.ensemble import VotingRegressor
  from sklearn.exceptions import ConvergenceWarning
  from sklearn.linear_model import LinearRegression
  from sklearn.utils import check_random_state
  from sklearn.utils.extmath import svd_flip
label_desc: Use image node_id 14 for calling a global function with example usage: test_singular_value_helpers(n_samples, n_features, global_random_seed) without return types