# scipy.sparse.linalg¶

## Sparse linear algebra (scipy.sparse.linalg)¶

### Abstract linear operators¶

 LinearOperator(dtype, shape) Common interface for performing matrix vector products aslinearoperator(A) Return A as a LinearOperator.

### Matrix Operations¶

 inv(A) Compute the inverse of a sparse matrix expm(A) Compute the matrix exponential using Pade approximation. expm_multiply(A, B[, start, stop, num, endpoint]) Compute the action of the matrix exponential of A on B.

### Matrix norms¶

 norm(x[, ord, axis]) Norm of a sparse matrix onenormest(A[, t, itmax, compute_v, compute_w]) Compute a lower bound of the 1-norm of a sparse matrix.

### Solving linear problems¶

Direct methods for linear equation systems:

 spsolve(A, b[, permc_spec, use_umfpack]) Solve the sparse linear system Ax=b, where b may be a vector or a matrix. factorized(A) Return a fuction for solving a sparse linear system, with A pre-factorized. MatrixRankWarning use_solver(**kwargs) Select default sparse direct solver to be used.

Iterative methods for linear equation systems:

 bicg(A, b[, x0, tol, maxiter, xtype, M, ...]) Use BIConjugate Gradient iteration to solve A x = b bicgstab(A, b[, x0, tol, maxiter, xtype, M, ...]) Use BIConjugate Gradient STABilized iteration to solve A x = b cg(A, b[, x0, tol, maxiter, xtype, M, callback]) Use Conjugate Gradient iteration to solve A x = b cgs(A, b[, x0, tol, maxiter, xtype, M, callback]) Use Conjugate Gradient Squared iteration to solve A x = b gmres(A, b[, x0, tol, restart, maxiter, ...]) Use Generalized Minimal RESidual iteration to solve A x = b. lgmres(A, b[, x0, tol, maxiter, M, ...]) Solve a matrix equation using the LGMRES algorithm. minres(A, b[, x0, shift, tol, maxiter, ...]) Use MINimum RESidual iteration to solve Ax=b qmr(A, b[, x0, tol, maxiter, xtype, M1, M2, ...]) Use Quasi-Minimal Residual iteration to solve A x = b

Iterative methods for least-squares problems:

 lsqr(A, b[, damp, atol, btol, conlim, ...]) Find the least-squares solution to a large, sparse, linear system of equations. lsmr(A, b[, damp, atol, btol, conlim, ...]) Iterative solver for least-squares problems.

### Matrix factorizations¶

Eigenvalue problems:

 eigs(A[, k, M, sigma, which, v0, ncv, ...]) Find k eigenvalues and eigenvectors of the square matrix A. eigsh(A[, k, M, sigma, which, v0, ncv, ...]) Find k eigenvalues and eigenvectors of the real symmetric square matrix or complex hermitian matrix A. lobpcg(A, X[, B, M, Y, tol, maxiter, ...]) Locally Optimal Block Preconditioned Conjugate Gradient Method (LOBPCG)

Singular values problems:

 svds(A[, k, ncv, tol, which, v0, maxiter, ...]) Compute the largest k singular values/vectors for a sparse matrix.

Complete or incomplete LU factorizations

 splu(A[, permc_spec, diag_pivot_thresh, ...]) Compute the LU decomposition of a sparse, square matrix. spilu(A[, drop_tol, fill_factor, drop_rule, ...]) Compute an incomplete LU decomposition for a sparse, square matrix. SuperLU LU factorization of a sparse matrix.

### Exceptions¶

 ArpackNoConvergence(msg, eigenvalues, ...) ARPACK iteration did not converge ArpackError(info[, infodict]) ARPACK error

Functions

 aslinearoperator(A) Return A as a LinearOperator. bicg(A, b[, x0, tol, maxiter, xtype, M, ...]) Use BIConjugate Gradient iteration to solve A x = b bicgstab(A, b[, x0, tol, maxiter, xtype, M, ...]) Use BIConjugate Gradient STABilized iteration to solve A x = b cg(A, b[, x0, tol, maxiter, xtype, M, callback]) Use Conjugate Gradient iteration to solve A x = b cgs(A, b[, x0, tol, maxiter, xtype, M, callback]) Use Conjugate Gradient Squared iteration to solve A x = b eigs(A[, k, M, sigma, which, v0, ncv, ...]) Find k eigenvalues and eigenvectors of the square matrix A. eigsh(A[, k, M, sigma, which, v0, ncv, ...]) Find k eigenvalues and eigenvectors of the real symmetric square matrix or complex hermitian matrix A. expm(A) Compute the matrix exponential using Pade approximation. expm_multiply(A, B[, start, stop, num, endpoint]) Compute the action of the matrix exponential of A on B. factorized(A) Return a fuction for solving a sparse linear system, with A pre-factorized. gmres(A, b[, x0, tol, restart, maxiter, ...]) Use Generalized Minimal RESidual iteration to solve A x = b. inv(A) Compute the inverse of a sparse matrix lgmres(A, b[, x0, tol, maxiter, M, ...]) Solve a matrix equation using the LGMRES algorithm. lobpcg(A, X[, B, M, Y, tol, maxiter, ...]) Locally Optimal Block Preconditioned Conjugate Gradient Method (LOBPCG) lsmr(A, b[, damp, atol, btol, conlim, ...]) Iterative solver for least-squares problems. lsqr(A, b[, damp, atol, btol, conlim, ...]) Find the least-squares solution to a large, sparse, linear system of equations. minres(A, b[, x0, shift, tol, maxiter, ...]) Use MINimum RESidual iteration to solve Ax=b norm(x[, ord, axis]) Norm of a sparse matrix onenormest(A[, t, itmax, compute_v, compute_w]) Compute a lower bound of the 1-norm of a sparse matrix. qmr(A, b[, x0, tol, maxiter, xtype, M1, M2, ...]) Use Quasi-Minimal Residual iteration to solve A x = b spilu(A[, drop_tol, fill_factor, drop_rule, ...]) Compute an incomplete LU decomposition for a sparse, square matrix. splu(A[, permc_spec, diag_pivot_thresh, ...]) Compute the LU decomposition of a sparse, square matrix. spsolve(A, b[, permc_spec, use_umfpack]) Solve the sparse linear system Ax=b, where b may be a vector or a matrix. svds(A[, k, ncv, tol, which, v0, maxiter, ...]) Compute the largest k singular values/vectors for a sparse matrix. use_solver(**kwargs) Select default sparse direct solver to be used.

Classes

 LinearOperator(dtype, shape) Common interface for performing matrix vector products SuperLU LU factorization of a sparse matrix. Tester alias of NoseTester

Exceptions

 ArpackError(info[, infodict]) ARPACK error ArpackNoConvergence(msg, eigenvalues, ...) ARPACK iteration did not converge MatrixRankWarning