code: def setUp(self):
      if not cusolver.check_availability("gesvdj"):
          pytest.skip("gesvdj is not available")
      shape = self.shape
      if self.dtype == numpy.complex64:
          a_real = numpy.random.random(shape).astype(numpy.float32)
          a_imag = numpy.random.random(shape).astype(numpy.float32)
          self.a = a_real + 1.0j * a_imag
      elif self.dtype == numpy.complex128:
          a_real = numpy.random.random(shape).astype(numpy.float64)
          a_imag = numpy.random.random(shape).astype(numpy.float64)
          self.a = a_real + 1.0j * a_imag
      else:
          self.a = numpy.random.random(shape).astype(self.dtype)
  
imports: import numpy
  import pytest
  import cupy
  from cupyx import cusolver
  from cupy import testing
  from cupy._core import _routines_linalg
  import cupyx
label_desc: Use image node_id 1 for calling the TestGesvdj obj's underlying member method code with example usage: obj.setUp() without return types