code: def _make_well_conditioned_matrix(self, shape):
      a = self._make_random_matrix(shape, numpy)
      u, s, vh = numpy.linalg.svd(a)
      s = (
          testing.shaped_random(
              s.shape, numpy, dtype=self.r_dtype, scale=1
          )
          + 1
      )
      a = numpy.einsum("...ik,...k,...kj->...ij", u, s, vh)
      return cupy.array(a)
  
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 2 for calling the TestGesv obj's underlying member method code with example usage: obj._make_well_conditioned_matrix(shape) and returns: cupy