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)。