A2 Review article, Literature review, Systematic review
Array programming with NumPy (2020)


Harris, Charles R.; Millman, K. Jarrod; van der Walt, Stéfan J.; Gommers, Ralf; Virtanen, Pauli; Cournapeau, David; Wieser, Eric; Taylor, Julian; Berg, Sebastian; Smith, Nathaniel J.; Kern, Robert et al. (2020). Array programming with NumPy. Nature, 585 (7825), 357-362. DOI: 10.1038/s41586-020-2649-2


JYU authors or editors


Publication details

All authors or editors: Harris, Charles R.; Millman, K. Jarrod; van der Walt, Stéfan J.; Gommers, Ralf; Virtanen, Pauli; Cournapeau, David; Wieser, Eric; Taylor, Julian; Berg, Sebastian; Smith, Nathaniel J.; et al.

Journal or series: Nature

ISSN: 0028-0836

eISSN: 1476-4687

Publication year: 2020

Volume: 585

Issue number: 7825

Pages range: 357-362

Publisher: Nature Publishing Group

Publication country: United Kingdom

Publication language: English

DOI: https://doi.org/10.1038/s41586-020-2649-2

Open Access: Open access publication published in a hybrid channel

Publication is parallel published (JYX): https://jyx.jyu.fi/handle/123456789/72093

Publication is parallel published: https://arxiv.org/abs/2006.10256


Abstract

Array programming provides a powerful, compact and expressive syntax for accessing, manipulating and operating on data in vectors, matrices and higher-dimensional arrays. NumPy is the primary array programming library for the Python language. It has an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, materials science, engineering, finance and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves1 and in the first imaging of a black hole2. Here we review how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring and analysing scientific data. NumPy is the foundation upon which the scientific Python ecosystem is constructed. It is so pervasive that several projects, targeting audiences with specialized needs, have developed their own NumPy-like interfaces and array objects. Owing to its central position in the ecosystem, NumPy increasingly acts as an interoperability layer between such array computation libraries and, together with its application programming interface (API), provides a flexible framework to support the next decade of scientific and industrial analysis.


Keywords: computational science; programming languages; Python (programming languages); libraries (computing)


Contributing organizations


Ministry reporting: Yes

Preliminary JUFO rating: 3


Last updated on 2020-09-10 at 13:52