class_docstr: LuInv:
     helper class to repeatedly solve M*x=b
     using an LU-decomposition of M
code: def __init__(self, M):
      self.M_lu = lu_factor(M)
      self.shape = M.shape
      self.dtype = M.dtype
  
imports: from .None import _arpack
  import numpy
  import warnings
  from scipy.sparse.linalg.interface import aslinearoperator, LinearOperator
  from scipy.sparse import eye, issparse, isspmatrix, isspmatrix_csr
  from scipy.linalg import eig, eigh, lu_factor, lu_solve
  from scipy.sparse.sputils import isdense, is_pydata_spmatrix
  from scipy.sparse.linalg import gmres, splu
  from scipy.sparse.linalg.eigen.lobpcg import lobpcg
  from scipy._lib._util import _aligned_zeros
  from scipy._lib._threadsafety import ReentrancyLock
label_desc: Use image node_id 1 to create a new LuInv object from inherited base classes: LinearOperator with example: obj = LuInv(M)