#### Previous topic

scipy.sparse.linalg.onenormest

#### Next topic

scipy.sparse.linalg.factorized

# scipy.sparse.linalg.spsolve

`scipy.sparse.linalg.``spsolve`(A, b, permc_spec=None, use_umfpack=True)

  Solve the sparse linear system Ax=b, where b may be a vector or a matrix.

  Parameters: | A : ndarray or sparse matrix The square matrix A will be converted into CSC or CSR form b : ndarray or sparse matrix The matrix or vector representing the right hand side of the equation. If a vector, b.size must be (n,) or (n, 1) 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 use_umfpack : bool, optional if True (default) then use umfpack for the solution. This is only referenced if b is a vector and `scikit-umfpack` is installed.
  Returns: | x : ndarray or sparse matrix the solution of the sparse linear equation. If b is a vector, then x is a vector of size A.shape[1] If b is a matrix, then x is a matrix of size (A.shape[1], b.shape[1])

  Notes

  For solving the matrix expression AX = B, this solver assumes the resulting matrix X is sparse, as is often the case for very sparse inputs. If the resulting X is dense, the construction of this sparse result will be relatively expensive. In that case, consider converting A to a dense matrix and using scipy.linalg.solve or its variants.