code: def test_sparse_input(
      global_dtype,
      eigen_solver,
      path_method,
      global_random_seed,
      csr_container,
  ):
      # TODO: compare results on dense and sparse data as proposed in:
      # https://github.com/scikit-learn/scikit-learn/pull/23585#discussion_r968388186
      X = csr_container(
          sparse_rand(
              100,
              3,
              density=0.1,
              format="csr",
              dtype=global_dtype,
              random_state=global_random_seed,
          )
      )
  
      iso_dense = manifold.Isomap(
          n_components=2,
          eigen_solver=eigen_solver,
          path_method=path_method,
          n_neighbors=8,
      )
      iso_sparse = clone(iso_dense)
  
      X_trans_dense = iso_dense.fit_transform(X.toarray())
      X_trans_sparse = iso_sparse.fit_transform(X)
  
      assert_allclose(
          X_trans_sparse, X_trans_dense, rtol=1e-4, atol=1e-4
      )
  
imports: import math
  from itertools import product
  import numpy
  import pytest
  from scipy.sparse import rand
  from sklearn import clone, datasets, manifold, neighbors, pipeline, preprocessing
  from sklearn.datasets import make_blobs
  from sklearn.metrics.pairwise import pairwise_distances
  from sklearn.utils._testing import assert_allclose, assert_allclose_dense_sparse, assert_array_equal
  from sklearn.utils.fixes import CSR_CONTAINERS
label_desc: Use image node_id 9 for calling a global function with example usage: test_sparse_input(global_dtype, eigen_solver, path_method, global_random_seed, csr_container) without return types