SciPy

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

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
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

all(a[, axis, out, keepdims]) Test whether all array elements along a given axis evaluate to True.
amax(a[, axis, out, keepdims]) Return the maximum of an array or maximum along an axis.
amin(a[, axis, out, keepdims]) Return the minimum of an array or minimum along an axis.
array(object[, dtype, copy, order, subok, ndmin]) Create an array.
asarray(a[, dtype, order]) Convert the input to an array.
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
dot(a, b[, out]) Dot product of two arrays.
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.
empty(shape[, dtype, order]) Return a new array of given shape and type, without initializing entries.
empty_like(a[, dtype, order, subok]) Return a new array with the same shape and type as a given array.
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.
fastCopyAndTranspose(a)
geterrobj() Return the current object that defines floating-point error handling.
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
issparse(x)
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]) 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.
product(a[, axis, dtype, out, keepdims]) Return the product of array elements over a given axis.
qmr(A, b[, x0, tol, maxiter, xtype, M1, M2, ...]) Use Quasi-Minimal Residual iteration to solve A x = b
ravel(a[, order]) Return a flattened array.
rollaxis(a, axis[, start]) Roll the specified axis backwards, until it lies in a given position.
size(a[, axis]) Return the number of elements along a given axis.
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.
sum(a[, axis, dtype, out, keepdims]) Sum of array elements over a given axis.
svds(A[, k, ncv, tol, which, v0, maxiter, ...]) Compute the largest k singular values/vectors for a sparse matrix.
transpose(a[, axes]) Permute the dimensions of an array.
use_solver(**kwargs) Valid keyword arguments with defaults (other ignored):
zeros(shape[, dtype, order]) Return a new array of given shape and type, filled with zeros.

Classes

LinearOperator(dtype, shape) Common interface for performing matrix vector products
SuperLU LU factorization of a sparse matrix.
Tester Nose test runner.
broadcast Produce an object that mimics broadcasting.
cdouble Composed of two 64 bit floats
complexfloating
csingle Composed of two 32 bit floats
double 64-bit floating-point number. Character code ‘d’. Python float compatible.
errstate(**kwargs) Context manager for floating-point error handling.
finfo Machine limits for floating point types.
inexact
intc 32-bit integer. Character code ‘i’. C int compatible.
longdouble 128-bit floating-point number. Character code: ‘g’. C long float
single 32-bit floating-point number. Character code ‘f’. C float compatible.

Exceptions

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