code: def test_symmetric_modes():
      params = SymmetricParams()
      k = 2
      symmetric = True
      for D in params.real_test_cases:
          for typ in "fd":
              for which in params.which:
                  for mattype in params.mattypes:
                      for sigma, modes in params.sigmas_modes.items():
                          for mode in modes:
                              eval_evec(
                                  symmetric,
                                  D,
                                  typ,
                                  k,
                                  which,
                                  None,
                                  sigma,
                                  mattype,
                                  None,
                                  mode,
                              )
  
imports: import threading
  import itertools
  import numpy
  from numpy.testing import assert_allclose, assert_equal, suppress_warnings
  from pytest import raises
  import pytest
  from numpy import dot, conj, random
  from scipy.linalg import eig, eigh
  from scipy.sparse import csc_matrix, csr_matrix, diags, rand
  from scipy.sparse.linalg import LinearOperator, aslinearoperator
  from scipy.sparse.linalg._eigen.arpack import eigs, eigsh, arpack, ArpackNoConvergence
  from scipy._lib._gcutils import assert_deallocated, IS_PYPY
label_desc: Use image node_id 7 for calling a global function with example usage: test_symmetric_modes() without return types