code: def test_svd_which():
      # check that the which parameter works as expected
      x = hilbert(6)
      for which in ["LM", "SM"]:
          _, s, _ = sorted_svd(x, 2, which=which)
          for solver in [None, "arpack", "lobpcg"]:
              ss = svds(
                  x,
                  2,
                  which=which,
                  return_singular_vectors=False,
                  solver=solver,
              )
              ss.sort()
              assert_allclose(s, ss, atol=np.sqrt(1e-15))
  
imports: import threading
  import itertools
  import sys
  import platform
  import numpy
  from numpy.testing import assert_allclose, assert_array_almost_equal_nulp, assert_equal, assert_array_equal, suppress_warnings
  from pytest import raises
  import pytest
  from numpy import dot, conj, random
  from scipy.linalg import eig, eigh, hilbert, svd
  from scipy.sparse import csc_matrix, csr_matrix, isspmatrix, diags, rand
  from scipy.sparse.linalg import LinearOperator, aslinearoperator
  from scipy.sparse.linalg.eigen.arpack import eigs, eigsh, svds, ArpackNoConvergence, arpack
  from scipy._lib._gcutils import assert_deallocated, IS_PYPY
label_desc: Use image node_id 27 for calling a global function with example usage: test_svd_which() without return types