概述
文章
- 基础篇
- 进阶篇
- 其他篇
用户指南
NumPy 参考手册
- 数组对象
- 常量
- 通函数(ufunc)
- 常用 API
- 创建数组
- 数组处理程序
- 二进制运算
- 字符串操作
- C-Types 外部函数接口(numpy.ctypeslib)
- 时间日期相关
- 数据类型相关
- 可选的 Scipy 加速支持(numpy.dual)
- 具有自动域的数学函数( numpy.emath)
- 浮点错误处理
- 离散傅立叶变换(numpy.fft)
- 财金相关
- 实用的功能
- 特殊的 NumPy 帮助功能
- 索引相关
- 输入和输出
- 线性代数(numpy.linalg)
- 逻辑函数
- 操作掩码数组
- 数学函数(Mathematical functions)
- 矩阵库 (numpy.matlib)
- 杂项(Miscellaneous routines)
- 填充数组(Padding Arrays)
- 多项式(Polynomials)
- 随机抽样 (numpy.random)
- 操作集合(Set routines)
- 排序,搜索和计数(Sorting, searching, and counting)
- Statistics
- Test Support (numpy.testing)
- Window functions
- 打包(numpy.distutils)
- NumPy Distutils 用户指南
- NumPy C-API
- NumPy 的内部
- NumPy 和 SWIG
其他文档
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
线性代数(numpy.linalg)
NumPy线性代数函数依赖于BLAS和LAPACK来提供标准线性代数算法的高效低级实现。 这些库可以由NumPy本身使用其参考实现子集的C版本提供, 但如果可能,最好是利用专用处理器功能的高度优化的库。 这样的库的例子是OpenBLASopen in new window、MKL(TM)和ATLAS。因为这些库是多线程和处理器相关的, 所以可能需要环境变量和外部包(如threadpoolctlopen in new window)来控制线程数量或指定处理器体系结构。
矩阵和向量积
方法 | 描述 |
---|---|
dotopen in new window(a, b[, out]) | 两个数组的点积。 |
linalg.multi_dotopen in new window(arrays) | 在单个函数调用中计算两个或更多数组的点积,同时自动选择最快的求值顺序。 |
vdotopen in new window(a, b) | 返回两个向量的点积。 |
inneropen in new window(a, b) | 两个数组的内积。 |
outeropen in new window(a, b[, out]) | 计算两个向量的外积。 |
matmulopen in new window(x1, x2, /[, out, casting, order, …]) | 两个数组的矩阵乘积。 |
tensordotopen in new window(a, b[, axes]) | 沿指定轴计算张量点积。 |
einsumopen in new window(subscripts, *operands[, out, dtype, …]) | 计算操作数上的爱因斯坦求和约定。 |
einsum_pathopen in new window(subscripts, *operands[, optimize]) | 通过考虑中间数组的创建,计算einsum表达式的最低成本压缩顺序。 |
linalg.matrix_poweropen in new window(a, n) | 将方阵提升为(整数)n次方。 |
kronopen in new window(a, b) | 两个数组的Kronecker乘积。 |
分解
方法 | 描述 |
---|---|
linalg.choleskyopen in new window(a) | Cholesky分解 |
linalg.qropen in new window(a[, mode]) | 计算矩阵的QR分解。 |
linalg.svdopen in new window(a[, full_matrices, compute_uv, …]) | 奇异值分解 |
矩阵特征值
方法 | 描述 |
---|---|
linalg.eigopen in new window(a) | 计算方阵的特征值和右特征向量。 |
linalg.eighopen in new window(a[, UPLO]) | 返回复数Hermitian(共轭对称)或实对称矩阵的特征值和特征向量。 |
linalg.eigvalsopen in new window(a) | 计算通用矩阵的特征值。 |
linalg.eigvalshopen in new window(a[, UPLO]) | 计算复杂的Hermitian或实对称矩阵的特征值。 |
范数和其他数字
方法 | 描述 |
---|---|
linalg.normopen in new window(x[, ord, axis, keepdims]) | 矩阵或向量范数。 |
linalg.condopen in new window(x[, p]) | 计算矩阵的条件数。 |
linalg.detopen in new window(a) | 计算数组的行列式。 |
linalg.matrix_rankopen in new window(M[, tol, hermitian]) | 使用SVD方法返回数组的矩阵的rank |
linalg.slogdetopen in new window(a) | 计算数组行列式的符号和(自然)对数。 |
traceopen in new window(a[, offset, axis1, axis2, dtype, out]) | 返回数组对角线的和。 |
解方程和逆矩阵
方法 | 描述 |
---|---|
linalg.solveopen in new window(a, b) | 求解线性矩阵方程或线性标量方程组。 |
linalg.tensorsolveopen in new window(a, b[, axes]) | 对x求解张量方程a x = b。 |
linalg.lstsqopen in new window(a, b[, rcond]) | 返回线性矩阵方程的最小二乘解。 |
linalg.invopen in new window(a) | 计算矩阵的(乘法)逆。 |
linalg.pinvopen in new window(a[, rcond, hermitian]) | 计算矩阵的(Moore-Penrose)伪逆。 |
linalg.tensorinvopen in new window(a[, ind]) | 计算N维数组的“逆”。 |
例外
方法 | 描述 |
---|---|
linalg.LinAlgErroropen in new window | 泛型Python-linalg函数引发的异常派生对象。 |
一次在多个矩阵上的线性代数
1.8.0版中的新功能
上面列出的几个线性代数例程能够一次计算几个矩阵的结果,如果它们堆叠在同一数组中的话。
这在文档中通过输入参数规范(如 a : (..., M, M) array_like
)表示。 这意味着,例如,如果给定输入数组 a.shape == (N, M, M)
,则将其解释为N个矩阵的“堆栈”, 每个矩阵的大小为M×M。类似的规范也适用于返回值, 例如行列式 det : (...)
。并且在这种情况下将返回形状 det(a).shape == (N,)
的数组。 这推广到对高维数组的线性代数操作:多维数组的最后1或2维被解释为向量或矩阵,视每个操作而定。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论