docstr: LU factorization of a sparse matrix.
  
  Args:
      obj (scipy.sparse.linalg.SuperLU): LU factorization of a sparse
          matrix, computed by `scipy.sparse.linalg.splu`, etc.
docstr_tok: ["LU","factorization","of","a","sparse","matrix",".","Args",":","obj","(","scipy.sparse.linalg.SuperLU",")",":","LU","factorization","of","a","sparse","matrix",",","computed","by","`","scipy.sparse.linalg.splu","`",",","etc","."]
code: def __init__(self, obj):
      """LU factorization of a sparse matrix.
  
      Args:
          obj (scipy.sparse.linalg.SuperLU): LU factorization of a sparse
              matrix, computed by `scipy.sparse.linalg.splu`, etc.
      """
      if not scipy_available:
          raise RuntimeError("scipy is not available")
      if not isinstance(obj, scipy.sparse.linalg.SuperLU):
          raise TypeError("obj must be scipy.sparse.linalg.SuperLU")
  
      self.shape = obj.shape
      self.nnz = obj.nnz
      self.perm_r = cupy.array(obj.perm_r)
      self.perm_c = cupy.array(obj.perm_c)
      self.L = sparse.csr_matrix(obj.L.tocsr())
      self.U = sparse.csr_matrix(obj.U.tocsr())
  
      self._perm_r_rev = cupy.argsort(self.perm_r)
      self._perm_c_rev = cupy.argsort(self.perm_c)
  
imports: import numpy
  import cupy
  from cupy import cublas
  from cupy.cuda import device
  from cupy.cuda import runtime
  from cupy.linalg import _util
  from cupyx.scipy import sparse
  from cupyx.scipy.sparse.linalg import _interface
  from cupyx.scipy.sparse.linalg._iterative import _make_system
  import warnings
label_desc: Use image node_id 1 to create a new SuperLU object  with example: obj = SuperLU(obj)