code: def numba_funcify_SVD(op, node, **kwargs):
      full_matrices = op.full_matrices
      compute_uv = op.compute_uv
      out_dtype = np.dtype(node.outputs[0].dtype)
  
      inputs_cast = int_to_float_fn(node.inputs, out_dtype)
  
      if not compute_uv:
  
          @numba_basic.numba_njit()
          def svd(x):
              _, ret, _ = np.linalg.svd(inputs_cast(x), full_matrices)
              return ret
  
      else:
  
          @numba_basic.numba_njit()
          def svd(x):
              return np.linalg.svd(inputs_cast(x), full_matrices)
  
      return svd
  
file_path: pytensor/pytensor/link/numba/dispatch/nlinalg.py
imports: import warnings
  import numba
  import numpy
  from pytensor.link.numba.dispatch import basic
  from pytensor.link.numba.dispatch.basic import get_numba_type, int_to_float_fn, numba_funcify
  from pytensor.tensor.nlinalg import SVD, Det, Eig, Eigh, MatrixInverse, MatrixPinv, QRFull, SLogDet
label_desc: Use image node_id 1 for calling a global function with example usage: numba_funcify_SVD(op, node) and returns: svd, ret, np