The NumPy paper is out! https://t.co/q2Svekk9G8 https://t.co/KiikaieL0t

1 min read Original article ↗

user avatar

NumPy provides an easily readable, expressive, high-level API for array programming. It takes care of the underlying mechanics that make operations fast.

Figure 1 from the paper illustrates several fundamental array programming concepts including the data structure, indexing, vectorization, broadcasting, and reductions.

user avatar

The array programming foundation provided by NumPy, combined with a rich surrounding ecosystem of tools — inside of IPython or Jupyter — forms an interactive environment ideally suited to exploratory data analysis.

Figure 2 from the paper illustrates the scientific Python ecosystem and NumPy's position at its base.

user avatar

NumPy includes protocols to facilitate interoperability with external libraries like PyTorch, Dask, and JAX. Through such features, NumPy provides a standard API for tensor computation and is a central coordinating mechanism between array technologies in Python.

Figure 3 from the paper illustrates how the NumPy API and array protocols expose new types of arrays to the ecosystem.

user avatar

For more history on NumPy & SciPy, see the background section of the "SciPy 1.0" paper:

user avatar

NumPy plays a leading role in scientific computing, and continues to evolve in response to the changing landscape of data science. To build a NumPy that meets the needs of the next decade of data science, we welcome your help!