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


Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S., van Kerkwijk, M. H., Brett, M., Haldane, A., del Río, J. F., Wiebe, M., Peterson, P., . . . Oliphant, T. E. (2020). Array programming with NumPy. Nature, 585(7825), 357-362. https://doi.org/10.1038/s41586-020-2649-2


JYU authors or editors


Publication details

All authors or editorsHarris, 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 seriesNature

ISSN0028-0836

eISSN1476-4687

Publication year2020

Volume585

Issue number7825

Pages range357-362

PublisherNature Publishing Group

Publication countryUnited Kingdom

Publication languageEnglish

DOIhttps://doi.org/10.1038/s41586-020-2649-2

Publication open accessOpenly available

Publication channel open accessPartially open access channel

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

Publication is parallel publishedhttps://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.


Keywordscomputational scienceprogramming languagesPython (programming languages)libraries (computing)


Contributing organizations


Ministry reportingYes

Reporting Year2020

JUFO rating3


Last updated on 2024-14-02 at 18:07