线性代数 (scipy.linalg )

线性代数函数。

参见

numpy.linalg 更多的线性代数函数。请注意,虽然 scipy.linalg 从以下位置导入其中的大多数同名函数 scipy.linalg 可以提供更多或略有不同的功能。

基础知识

inv \(a[, overwrite_a, check_finite] )

计算矩阵的逆。

solve \(a,b[, sym_pos, lower, overwrite_a, ...] )

解线性方程组 a * x = b 对于未知的事物 x 对于正方形 a 矩阵。

solve_banded \(l_和_u,ab,b[, overwrite_ab, ...] )

假设a是带状矩阵,求x的方程a x=b。

solveh_banded \(ab,b[, overwrite_ab, ...] )

解方程a x=b。

solve_circulant \(C,b[, singular, tol, ...] )

求x的Cx=b,其中C是循环矩阵。

solve_triangular \(a,b[, trans, lower, ...] )

解这个方程式 a x = bx ,假设a是一个三角矩阵。

solve_toeplitz \(C_或_cr,b[, check_finite] )

用Levinson递推法解Toeplitz系统

matmul_toeplitz \(C_或_cr,x[, check_finite, ...] )

基于FFT的高效Toeplitz矩阵-矩阵乘法

det \(a[, overwrite_a, check_finite] )

计算矩阵的行列式

norm \(a[, ord, axis, keepdims, check_finite] )

矩阵或向量范数。

lstsq \(a,b[, cond, overwrite_a, ...] )

计算方程Ax=b的最小二乘解。

pinv \(a[, atol, rtol, return_rank, ...] )

计算矩阵的(Moore-Penrose)伪逆。

pinv2 \(a[, cond, rcond, return_rank, ...] )

计算矩阵的(Moore-Penrose)伪逆。

pinvh \(a[, atol, rtol, lower, return_rank, ...] )

计算厄米矩阵的(Moore-Penrose)伪逆。

kron \(a,b)

克罗内克产品。

khatri_rao \(a,b)

Khatri-Rao产品

tril \(M[, k] )

复制一个矩阵,并将第k个对角线以上的元素置零。

triu \(M[, k] )

复制一个矩阵,并将第k个对角线以下的元素置零。

orthogonal_procrustes \(A,B[, check_finite] )

计算正交Procrstes问题的矩阵解。

matrix_balance \(a[, permute, scale, ...] )

计算行/列平衡的对角相似性转换。

subspace_angles \(A,B)

计算两个矩阵之间的子空间角度。

bandwidth \(a)

返回二维数值数组的下限带宽和上限带宽。

issymmetric \(a[, atol, rtol] )

检查正方形二维阵列是否对称。

ishermitian \(a[, atol, rtol] )

检查正方形二维数组是否为厄米特数组。

LinAlgError 

泛型Python-由linalg函数引发的异常派生对象。

LinAlgWarning 

当与线性代数相关的运算接近算法的失败条件或精度损失时发出的警告是预期的。

特征值问题

eig \(a[, b, left, right, overwrite_a, ...] )

求解方阵的普通或广义特征值问题。

eigvals \(a[, b, overwrite_a, check_finite, ...] )

从普通或广义特征值问题计算特征值。

eigh \(a[, b, lower, eigvals_only, ...] )

求解复厄米特矩阵或实对称矩阵的标准或广义特征值问题。

eigvalsh \(a[, b, lower, overwrite_a, ...] )

解决复厄米特矩阵或实对称矩阵的标准或广义特征值问题。

eig_banded \(一个_波段[, lower, eigvals_only, ...] )

解实对称或复厄米特带状矩阵特征值问题。

eigvals_banded \(一个_波段[, lower, ...] )

解实对称或复厄米特带状矩阵特征值问题。

eigh_tridiagonal \(d,e[, eigvals_only, ...] )

求解实对称三对角矩阵的特征值问题。

eigvalsh_tridiagonal \(d,e[, select, ...] )

求解实对称三对角矩阵的特征值问题。

分解

lu \(a[, permute_l, overwrite_a, check_finite] )

计算矩阵的旋转LU分解。

lu_factor \(a[, overwrite_a, check_finite] )

计算矩阵的旋转LU分解。

lu_solve \(lu_和_piv,b[, trans, ...] )

在给定a的LU因式分解的情况下,求解方程组a x=b

svd \(a[, full_matrices, compute_uv, ...] )

奇异值分解。

svdvals \(a[, overwrite_a, check_finite] )

计算矩阵的奇异值。

diagsvd \(s,M,N)

由奇异值和大小为M,N的奇异值构造奇异值分解中的σ矩阵。

orth \(a[, rcond] )

利用奇异值分解构造A值域的正交正交基

null_space \(a[, rcond] )

利用奇异值分解构造A的零空间的正交正交基

ldl \(a[, lower, hermitian, overwrite_a, ...] )

计算对称/厄米特矩阵的LDLT或Bunch-Kaufman分解。

cholesky \(a[, lower, overwrite_a, check_finite] )

计算矩阵的Cholesky分解。

cholesky_banded \(AB[, overwrite_ab, lower, ...] )

带状厄米正定矩阵的Cholesky分解

cho_factor \(a[, lower, overwrite_a, check_finite] )

计算矩阵的Cholesky分解,用于cho_solve

cho_solve \(C_和_下,b[, overwrite_b, ...] )

给定A的Cholesky因式分解,求解线性方程Ax=b。

cho_solve_banded \(cb_和_下,b[, ...] )

解线性方程组 A x = b ,给定带状厄米特的Cholesky因式分解 A

polar \(a[, side] )

计算极分解。

qr \(a[, overwrite_a, lwork, mode, pivoting, ...] )

计算矩阵的QR分解。

qr_multiply \(a,c[, mode, pivoting, ...] )

计算QR分解并将Q与矩阵相乘。

qr_update \(q,R,u,v[, overwrite_qruv, ...] )

秩-k QR更新

qr_delete \(q,R,k,int p=1[, which, ...] )

行或列删除的QR Downdate

qr_insert \(q,R,u,k[, which, rcond, ...] )

行或列插入的QR UPDATE

rq \(a[, overwrite_a, lwork, mode, check_finite] )

计算矩阵的RQ分解。

qz \(A,B[, output, lwork, sort, overwrite_a, ...] )

矩阵对的广义特征值的QZ分解。

ordqz \(A,B[, sort, output, overwrite_a, ...] )

具有重排序的矩阵对的QZ分解。

schur \(a[, output, lwork, overwrite_a, sort, ...] )

计算矩阵的Schur分解。

rsf2csf \(t,Z[, check_finite] )

将实舒尔形式转换为复舒尔形式。

hessenberg \(a[, calc_q, overwrite_a, ...] )

计算矩阵的Hessenberg形式。

cdf2rdf \(W,v)

转换复特征值 w 和特征向量 v 到挡路对角线形式的实本征值 wr 以及相关联的实本征向量 vr ,这样的话。

cossin \(X[, p, q, separate, swap_sign, ...] )

计算正交/酉矩阵的余弦(CS)分解。

参见

scipy.linalg.interpolative --插值矩阵分解

矩阵函数

expm \(a)

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

logm \(a[, disp] )

计算矩阵对数。

cosm \(a)

计算矩阵余弦。

sinm \(a)

计算矩阵正弦。

tanm \(a)

计算矩阵切线。

coshm \(a)

计算双曲矩阵余弦。

sinhm \(a)

计算双曲矩阵正弦。

tanhm \(a)

计算双曲矩阵正切。

signm \(a[, disp] )

矩阵符号函数。

sqrtm \(a[, disp, blocksize] )

矩阵平方根。

funm \(a,函数[, disp] )

对象指定的矩阵函数求值。

expm_frechet \(a,E[, method, compute_expm, ...] )

A的矩阵指数在E方向上的Frechet导数

expm_cond \(a[, check_finite] )

矩阵指数在Frobenius范数下的相对条件数。

fractional_matrix_power \(a,t)

计算矩阵的分数幂。

矩阵方程解算器

solve_sylvester \(a,b,q)

计算西尔维斯特方程的解(X) \(AX + XB = Q\)

solve_continuous_are \(a,b,q,r[, e, s, ...] )

求解连续时间代数Riccati方程(CARE)。

solve_discrete_are \(a,b,q,r[, e, s, balanced] )

求解离散时间代数Riccati方程(DARE)。

solve_continuous_lyapunov \(a,q)

解连续李雅普诺夫方程 \(AX + XA^H = Q\)

solve_discrete_lyapunov \(a,q[, method] )

求解离散的李亚普诺夫方程 \(AXA^H - X + Q = 0\)

草图和随机投影

clarkson_woodruff_transform \(输入_矩阵,.)

将Clarkson-Woodruff变换/草图应用于输入矩阵。

特殊矩阵

block_diag \(*ARRS)

从提供的数组创建挡路对角线矩阵。

circulant \(C)

构造循环矩阵。

companion \(a)

创建一个同伴矩阵。

convolution_matrix \(a,n[, mode] )

构造一个卷积矩阵。

dft \(n[, scale] )

离散傅立叶变换矩阵。

fiedler \(a)

返回对称的Fiedler矩阵

fiedler_companion \(a)

返回Fiedler伴随矩阵

hadamard \(n[, dtype] )

构造一个阿达玛矩阵。

hankel \(C[, r] )

构造一个汉克尔矩阵。

helmert \(n[, full] )

创建有序的赫尔默特矩阵 n

hilbert \(n)

创建一个阶数为零的希尔伯特矩阵 n

invhilbert \(n[, exact] )

阶希尔伯特矩阵的求逆 n

leslie \(F,s)

创建莱斯利矩阵。

pascal \(n[, kind, exact] )

返回n x n Pascal矩阵。

invpascal \(n[, kind, exact] )

返回n x n Pascal矩阵的逆。

toeplitz \(C[, r] )

构造一个Toeplitz矩阵。

tri \(n[, M, k, dtype] )

构造(N,M)矩阵,填充在第k条对角线及其下方的矩阵。

低级例程

get_blas_funcs \(名称[, arrays, dtype, ilp64] )

从名称返回可用的BLAS函数对象。

get_lapack_funcs \(名称[, arrays, dtype, ilp64] )

从名称返回可用的LAPACK函数对象。

find_best_blas_type \([arrays, dtype] )

查找最佳匹配的BLAS/LAPACK类型。

参见

scipy.linalg.blas --低级BLAS函数

scipy.linalg.lapack --低级LAPACK函数

scipy.linalg.cython_blas --Cython的低级BLAS函数

scipy.linalg.cython_lapack --Cython的低级LAPACK函数