code: def test_sparse_pca_solver_error(
      global_random_seed, svd_solver, sparse_container
  ):
      random_state = np.random.RandomState(global_random_seed)
      X = sparse_container(
          sp.sparse.random(
              SPARSE_M,
              SPARSE_N,
              random_state=random_state,
          )
      )
      pca = PCA(n_components=30, svd_solver=svd_solver)
      error_msg_pattern = (
          f'PCA only support sparse inputs with the "arpack" solver, while "{svd_solver}"'
          " was passed"
      )
      with pytest.raises(TypeError, match=error_msg_pattern):
          pca.fit(X)
  
imports: import re
  import warnings
  import numpy
  import pytest
  import scipy
  from numpy.testing import assert_array_equal
  from sklearn import config_context, datasets
  from sklearn.base import clone
  from sklearn.datasets import load_iris, make_classification
  from sklearn.decomposition import PCA
  from sklearn.decomposition._pca import _assess_dimension, _infer_dimension
  from sklearn.utils._array_api import _atol_for_type, _convert_to_numpy, yield_namespace_device_dtype_combinations
  from sklearn.utils._array_api import device
  from sklearn.utils._testing import _array_api_for_tests, assert_allclose
  from sklearn.utils.estimator_checks import _get_check_estimator_ids, check_array_api_input_and_values
  from sklearn.utils.fixes import CSC_CONTAINERS, CSR_CONTAINERS
label_desc: Use image node_id 5 for calling a global function with example usage: test_sparse_pca_solver_error(global_random_seed, svd_solver, sparse_container) without return types