SciPy

This is documentation for an old release of SciPy (version 0.16.0). Read this page in the documentation of the latest stable release (version 1.15.1).

Sparse linear algebra (scipy.sparse.linalg)

Abstract linear operators

LinearOperator(dtype, shape) Common interface for performing matrix vector products Many iterative methods (e.g.
aslinearoperator(A) Return A as a LinearOperator.

Matrix Operations

inv(A) Compute the inverse of a sparse matrix :Parameters: A : (M,M) ndarray or sparse matrix square matrix to be inverted :Returns: Ainv : (M,M) ndarray or sparse matrix inverse of 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.

Matrix norms

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.

Iterative methods for linear equation systems:

bicg(A, b[, x0, tol, maxiter, xtype, M, ...]) Use BIConjugate Gradient iteration to solve A x = b :Parameters: A : {sparse matrix, dense matrix, LinearOperator} The real or complex N-by-N matrix of the linear system It is required that the linear operator can produce Ax and A^T x.
bicgstab(A, b[, x0, tol, maxiter, xtype, M, ...]) Use BIConjugate Gradient STABilized iteration to solve A x = b :Parameters: A : {sparse matrix, dense matrix, LinearOperator} The real or complex N-by-N matrix of the linear system A must represent a hermitian, positive definite matrix b : {array, matrix} Right hand side of the linear system.
cg(A, b[, x0, tol, maxiter, xtype, M, callback]) Use Conjugate Gradient iteration to solve A x = b :Parameters: A : {sparse matrix, dense matrix, LinearOperator} The real or complex N-by-N matrix of the linear system A must represent a hermitian, positive definite matrix b : {array, matrix} Right hand side of the linear system.
cgs(A, b[, x0, tol, maxiter, xtype, M, callback]) Use Conjugate Gradient Squared iteration to solve A x = b :Parameters: A : {sparse matrix, dense matrix, LinearOperator} The real-valued N-by-N matrix of the linear system b : {array, matrix} Right hand side of the linear system.
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 MINRES minimizes norm(A*x - b) for a real symmetric matrix A.
qmr(A, b[, x0, tol, maxiter, xtype, M1, M2, ...]) Use Quasi-Minimal Residual iteration to solve A x = b :Parameters: A : {sparse matrix, dense matrix, LinearOperator} The real-valued N-by-N matrix of the linear system.

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) LOBPCG is a preconditioned eigensolver for large symmetric positive definite (SPD) generalized eigenproblems.

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