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

抽象线性算子#

LinearOperator(shape, matvec[, rmatvec, ...])

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

aslinearoperator(A)

A 作为 LinearOperator 返回。

矩阵范数#

norm(x[, ord, axis])

cupy.scipy.spmatrix 的范数

求解线性问题#

线性方程组的直接法

spsolve(A, b)

求解稀疏线性系统 A x = b

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

求解稀疏三角系统 A x = b

factorized(A)

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

线性方程组的迭代法

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

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

gmres(A, b[, x0, tol, restart, maxiter, M, ...])

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

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

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

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

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

最小二乘问题的迭代法

lsqr(A, b)

使用 QR 分解求解线性系统。

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

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

矩阵分解#

特征值问题

eigsh(a[, k, which, v0, ncv, maxiter, tol, ...])

找到实对称方阵或复厄米特矩阵 Ak 个特征值和特征向量。

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

局部最优块预条件共轭梯度法 (LOBPCG)

奇异值问题

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

找到稀疏矩阵的最大 k 个奇异值/向量。

完全或不完全 LU 分解

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

计算稀疏方阵的 LU 分解。

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

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

SuperLU(obj)