type
status
date
slug
summary
tags
category
icon
password
Property
矩阵库
NumPy
中包含了一个矩阵库 numpy.matlib
,该模块中的函数返回的是一个矩阵,而不是ndarray
对象。一个 的矩阵是一个由 行(row) 列(column)元素排列成的矩形阵列。矩阵里的元素可以是数字、符号或数学式。matlib.empty()
matlib.empty()
返回一个新的矩阵:numpy.matlib.zeros()
numpy.matlib.ones()
numpy.matlib.eye()
numpy.matlib.eye()
函数返回一个矩阵,对角线元素为 1,其他位置为零参数说明:
- n: 返回矩阵的行数
- M: 返回矩阵的列数,默认为 n
- k: 对角线的索引
- dtype: 数据类型
numpy.matlib.identity()
numpy.matlib.identity()
返回给定大小的单位矩阵。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 1,除此以外全都为 0
numpy.matlib.rand()
线性代数函数库 linalg
NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能
矩阵和向量积
方法 | 描述 |
dot(a, b[, out]) | 两个数组的点积 |
linalg.multi_dot(arrays) | 在单个函数调用中计算两个或更多数组的点积,同时自动选择最快的求值顺序 |
vdot(a, b) | 返回两个向量的点积 |
inner(a, b) | 两个数组的内积 |
outer(a, b[, out]) | 计算两个向量的外积 |
matmul(x1, x2, /[, out, casting, order, …]) | 两个数组的矩阵乘积 |
tensordot(a, b[, axes]) | 沿指定轴计算张量点积 |
einsum(subscripts, *operands[, out, dtype, …]) | 计算操作数上的爱因斯坦求和约定 |
einsum_path(subscripts, *operands[, optimize]) | 通过考虑中间数组的创建,计算einsum表达式的最低成本压缩顺序 |
linalg.matrix_power(a, n) | 将方阵提升为(整数)n次方 |
kron(a, b) | 两个数组的Kronecker乘积 |
分解
方法 | 描述 |
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或实对称矩阵的特征值。 |
范数和其他数字
方法 | 描述 |
linalg.norm(x[, ord, axis, keepdims]) | 矩阵或向量范数。 |
linalg.cond(x[, p]) | 计算矩阵的条件数。 |
linalg.det(a) | 计算数组的行列式。 |
linalg.matrix_rank(M[, tol, hermitian]) | 使用SVD方法返回数组的矩阵的rank |
linalg.slogdet(a) | 计算数组行列式的符号和(自然)对数。 |
trace(a[, offset, axis1, axis2, dtype, out]) | 返回数组对角线的和 |
解方程和逆矩阵
方法 | 描述 |
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, hermitian]) | 计算矩阵的(Moore-Penrose)伪逆。 |
linalg.tensorinv(a[, ind]) | 计算N维数组的“逆”。 |
例外
方法 | 描述 |
linalg.LinAlgError | 泛型Python-linalg函数引发的异常派生对象 |