线性代数(numpy.linalg

原文:https://docs.scipy.org/doc/numpy/reference/routines.linalg.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

矩阵和向量积

dot(a,b [,out]) 两个数组的点积。
vdot(a,b) 返回两个向量的点积。
inner(a,b) 两个数组的内积。
outer(a,b [,out]) 计算两个向量的外积。
matmul(a,b [,out]) 两个数组的矩阵乘积。
tensordot(a,b [,axes]) 对于数组> = 1-D,沿指定轴计算张量点积。
einsum(下标,\ * operands [,out,dtype,...]) 评估操作数上的爱因斯坦求和约定。
linalg.matrix_power(M,n) 将方阵转化为(整数)幂n
kron(a,b) 克罗内克两个数组的乘积。

Decompositions

linalg.cholesky(a) Cholesky分解。
linalg.qr(a [,mode]) 计算矩阵的qr因式分解。
linalg.svd(a [,full_matrices,compute_uv]) 奇异值分解。

矩阵特征值

linalg.eig(a) 计算正方形数组的特征值和右特征向量。
linalg.eigh(a[, UPLO]) 返回Hermitian或对称矩阵的特征值和特征向量。
linalg.eigvals(a) 计算一般矩阵的特征值。
linalg.eigvalsh(a[, UPLO]) 计算Hermitian或真实对称矩阵的特征值。

Norms and other numbers

linalg.norm(x [,ord,axis,keepdims]) 矩阵或向量范数。
linalg.cond(x [,p]) 计算矩阵的条件数。
linalg.det(a) 计算数组的行列式。
linalg.matrix_rank(M [,tol]) 使用SVD方法返回数组的矩阵秩
linalg.slogdet(a) 计算数组的行列式的符号和(自然)对数。
trace(a [,offset,axis1,axis2,dtype,out]) 沿数组的对角线返回总和。

Solving equations and inverting matrices

linalg.solve(a,b) 求解线性矩阵方程或线性标量方程组。
linalg.tensorsolve(a,b [,axes]) 为x解出张量方程a x = b
linalg.lstsq(a,b [,rcond]) 将最小二乘解返回到线性矩阵方程。
linalg.inv(a) 计算矩阵的(乘法)逆。
linalg.pinv(a [,rcond]) 计算矩阵的(Moore-Penrose)伪逆。
linalg.tensorinv(a [,ind]) 计算N维数组的“逆”。

Exceptions

linalg.LinAlgError linalg函数引发的通用Python异常派生对象。

Linear algebra on several matrices at once

版本1.8.0中的新功能。

上面列出的几个线性代数例程能够一次计算多个矩阵的结果,如果它们被堆叠到相同的数组中。

这在文档中通过输入参数规范如a (..., M, t4> M) array_like这意味着如果例如给定输入数组a.shape == (N, M, t4 > M),它被解释为N个矩阵的“堆栈”,每个矩阵的大小为M乘M。类似的规范适用于返回值,例如行列式具有det (...)这种情况下返回形状det(a).shape == (N,)的数组。这推广到对更高维数组的线性代数运算:多维数组的最后1或2维被解释为向量或矩阵,适合于每个操作。