code: def test_pinv(self):
      self.check_x((3, 3), rcond=1e-15)
      self.check_x((2, 4), rcond=1e-15)
      self.check_x((3, 2), rcond=1e-15)
  
      self.check_x((4, 4), rcond=0.3)
      self.check_x((2, 5), rcond=0.5)
      self.check_x((5, 3), rcond=0.6)
  
imports: import unittest
  import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy.testing import _condition
  import cupyx
  from cupy.cublas import get_batched_gesv_limit, set_batched_gesv_limit
label_desc: Use image node_id 2 for calling the TestPinv obj's underlying member method code with example usage: obj.test_pinv() without return types