code: def pinv(
      a,
      /,
      *,
      atol=None,
      rtol=None,
      return_rank=False,
      cond=None,
      rcond=None,
      check_finite=True,
  ):
      if check_finite:
          _check_finite(a)
  
      if (rcond or cond) and (atol is None) and (rtol is None):
          atol = rcond or cond
          rtol = 0.0
  
      inverse = ivy.pinv(a, rtol=rtol)
  
      if return_rank:
          rank = ivy.matrix_rank(a)
          return inverse, rank
  
      return inverse
  
file_path: ivy/ivy/functional/frontends/scipy/linalg/linalg.py
imports: import ivy
  from ivy.functional.frontends.numpy.func_wrapper import to_ivy_arrays_and_back
label_desc: Use image node_id 7 for calling a global function with example usage: pinv() and returns: inverse, inverse,  rank