NumPy 的范围#

在此,我们描述了 N 维数组计算中属于 NumPy 开发范围的方面。这**并非**NumPy 应该努力实现的目标定义,而是捕捉了现状——我们决定至少在目前继续支持的领域。

  • CPU 上的内存中、N 维、同质类型(单指针 + 跨步)数组

    • 支持广泛的数据类型

    • 不支持 GPU 等专用硬件

    • 但支持广泛的 CPU(例如 ARM、PowerX)

  • N 维数组的高级 API

  • ndarray 方法和属性的 Python API 和 C API

  • 其他N 维数组的专用类型或用途

    • 遮罩数组

    • 结构化数组(非正式地称为记录数组)

    • 内存映射数组

  • 历史上,NumPy 包含了以下**支持科学计算的基本功能**。我们打算继续支持(但不扩展)目前包含的内容

    • 线性代数

    • 快速傅里叶变换和窗函数

    • 伪随机数生成器

    • 多项式拟合

  • NumPy 为**科学 Python 生态系统中的其他包提供了一些基础设施**

    • numpy.distutils (对 C++、Fortran、BLAS/LAPACK 以及其他科学计算相关库的构建支持)

    • f2py (生成 Fortran 代码绑定)

    • 测试工具

  • 速度:我们认真对待性能问题,并旨在以与原生 C 代码相似的性能执行大型数组操作。也就是说,当出现冲突时,维护和可移植性优先于性能。我们旨在尽可能地防止回归(例如,通过 asv)。