code: def test_svds_parameter_k_which(self, k, which):
      if self.solver == "propack":
          if not has_propack:
              pytest.skip("PROPACK not available")
      # check that the `k` parameter sets the number of eigenvalues/
      # eigenvectors returned.
      # Also check that the `which` parameter sets whether the largest or
      # smallest eigenvalues are returned
      rng = np.random.default_rng(0)
      A = rng.random((10, 10))
      if self.solver == "lobpcg":
          with pytest.warns(UserWarning, match="The problem size"):
              res = svds(
                  A,
                  k=k,
                  which=which,
                  solver=self.solver,
                  random_state=0,
              )
      else:
          res = svds(
              A, k=k, which=which, solver=self.solver, random_state=0
          )
      _check_svds(A, k, *res, which=which, atol=8e-10)
  
imports: import os
  import re
  import copy
  import numpy
  from numpy.testing import assert_allclose, assert_equal, assert_array_equal
  import pytest
  from scipy.linalg import svd, null_space
  from scipy.sparse import csc_matrix, issparse, spdiags, random
  from scipy.sparse.linalg import LinearOperator, aslinearoperator
  from scipy.sparse.linalg import svds
  from scipy.sparse.linalg._eigen.arpack import ArpackNoConvergence
label_desc: Use image node_id 13 for calling the SVDSCommonTests obj's underlying member method code with example usage: obj.test_svds_parameter_k_which(k, which) without return types