稀疏線性代數 (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 = 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, ...])

尋找實對稱方陣或複 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 錯誤