稀疏线性代数 (scipy.sparse.linalg)#

抽象线性算子#

LinearOperator(*args, **kwargs)

执行矩阵向量乘积的通用接口

aslinearoperator(A)

将 A 作为 LinearOperator 返回。

矩阵操作#

inv(A)

计算稀疏矩阵的逆

expm(A)

使用Pade近似计算矩阵指数。

expm_multiply(A, B[, start, stop, num, ...])

计算矩阵指数 A 对 B 的作用。

matrix_power(A, power)

将一个方阵提升到整数幂,power

矩阵范数#

norm(x[, ord, axis])

稀疏矩阵的范数

onenormest(A[, t, itmax, compute_v, compute_w])

计算稀疏矩阵的1-范数下界。

解决线性问题#

线性方程组的直接方法:

spsolve(A, b[, permc_spec, use_umfpack])

求解稀疏线性系统 Ax=b,其中 b 可以是向量或矩阵。

spsolve_triangular(A, b[, lower, ...])

求解方程 A x = b 中的 x,假设 A 是一个三角矩阵。

factorized(A)

返回一个用于求解稀疏线性系统的函数,其中 A 已预分解。

MatrixRankWarning

use_solver(**kwargs)

选择默认的稀疏直接求解器。

线性方程组的迭代方法:

bicg(A, b[, x0, rtol, atol, maxiter, M, ...])

使用BI共轭梯度迭代法来求解 Ax = b

bicgstab(A, b[, x0, rtol, atol, maxiter, M, ...])

使用双共轭梯度稳定迭代法来求解 Ax = b

cg(A, b[, x0, rtol, atol, maxiter, M, callback])

使用共轭梯度迭代法求解 Ax = b

cgs(A, b[, x0, rtol, atol, maxiter, M, callback])

使用共轭梯度平方迭代法来求解 Ax = b

gmres(A, b[, x0, rtol, atol, restart, ...])

使用广义最小残差迭代法来求解 Ax = b

lgmres(A, b[, x0, rtol, atol, maxiter, M, ...])

使用LGMRES算法求解矩阵方程。

minres(A, b[, x0, rtol, shift, maxiter, M, ...])

使用最小残差迭代法来求解 Ax=b

qmr(A, b[, x0, rtol, atol, maxiter, M1, M2, ...])

使用准最小残差迭代法来求解 Ax = b

gcrotmk(A, b[, x0, rtol, atol, maxiter, M, ...])

使用灵活的 GCROT(m,k) 算法求解矩阵方程。

tfqmr(A, b[, x0, rtol, atol, maxiter, M, ...])

使用无转置准最小残差迭代法来求解 Ax = b

最小二乘问题的迭代方法:

lsqr(A, b[, damp, atol, btol, conlim, ...])

找到一个大型、稀疏的线性方程组的最小二乘解。

lsmr(A, b[, damp, atol, btol, conlim, ...])

用于最小二乘问题的迭代求解器。

矩阵分解#

特征值问题:

eigs(A[, k, M, sigma, which, v0, ncv, ...])

找到方阵 A 的 k 个特征值和特征向量。

eigsh(A[, k, M, sigma, which, v0, ncv, ...])

找到实对称方阵或复Hermitian矩阵A的k个特征值和特征向量。

lobpcg(A, X[, B, M, Y, tol, maxiter, ...])

局部最优块预处理共轭梯度法 (LOBPCG)。

奇异值问题:

svds(A[, k, ncv, tol, which, v0, maxiter, ...])

稀疏矩阵的部分奇异值分解。

svds 函数支持以下求解器:

完整或不完整的LU分解

splu(A[, permc_spec, diag_pivot_thresh, ...])

计算稀疏方阵的LU分解。

spilu(A[, drop_tol, fill_factor, drop_rule, ...])

计算稀疏方阵的不完全LU分解。

SuperLU()

稀疏矩阵的LU分解。

具有结构的稀疏数组#

LaplacianNd(*args, **kwargs)

N 维网格拉普拉斯算子和其特征值/特征向量。

异常#

ArpackNoConvergence(msg, eigenvalues, ...)

ARPACK 迭代未收敛

ArpackError(info[, infodict])

ARPACK 错误