#### Previous topic

scipy.sparse.linalg.svds

#### Next topic

scipy.sparse.linalg.spilu

# scipy.sparse.linalg.splu

`scipy.sparse.linalg.``splu`(A, permc_spec=None, diag_pivot_thresh=None, drop_tol=None, relax=None, panel_size=None, options={})

  Compute the LU decomposition of a sparse, square matrix.

  Parameters:

  A : sparse matrix

  > Sparse matrix to factorize. Should be in CSR or CSC format.

  permc_spec : str, optional

  > How to permute the columns of the matrix for sparsity preservation. (default: ‘COLAMD’)

  > - `NATURAL`: natural ordering.
  > - `MMD_ATA`: minimum degree ordering on the structure of A^T A.
  > - `MMD_AT_PLUS_A`: minimum degree ordering on the structure of A^T+A.
  > - `COLAMD`: approximate minimum degree column ordering

  diag_pivot_thresh : float, optional

  > Threshold used for a diagonal entry to be an acceptable pivot. See SuperLU user’s guide for details [R323]

  drop_tol : float, optional

  > (deprecated) No effect.

  relax : int, optional

  > Expert option for customizing the degree of relaxing supernodes. See SuperLU user’s guide for details [R323]

  panel_size : int, optional

  > Expert option for customizing the panel size. See SuperLU user’s guide for details [R323]

  options : dict, optional

  > Dictionary containing additional expert options to SuperLU. See SuperLU user guide [R323] (section 2.4 on the ‘Options’ argument) for more details. For example, you can specify `options=dict(Equil=False, IterRefine='SINGLE'))` to turn equilibration off and perform a single iterative refinement.

  Returns:

  invA : scipy.sparse.linalg.SuperLU

  > Object, which has a `solve` method.

  See also

  `spilu`
    incomplete LU decomposition

  Notes

  This function uses the SuperLU library.

  References

  [R323] | (1, 2, 3, 4, 5) SuperLU http://crd.lbl.gov/~xiaoye/SuperLU/