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

抽象线性算子#

LinearOperator(*args, **kwargs)

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

aslinearoperator(A)

将 A 返回为 LinearOperator。

矩阵运算#

inv(A)

计算稀疏矩阵的逆矩阵

expm(A)

使用 Padé 近似计算矩阵指数。

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 = bx,假设 A 是三角矩阵。

factorized(A)

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

MatrixRankWarning

use_solver(**kwargs)

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

线性方程组的迭代方法

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

使用双共轭梯度迭代法求解 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, ...])

找到实对称方阵或复厄米特矩阵 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 错误