SciPy

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={})[source]

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 [R349]

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 [R349]

panel_size : int, optional

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

options : dict, optional

Dictionary containing additional expert options to SuperLU. See SuperLU user guide [R349] (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

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