| Literature DB >> 32939066 |
Charles R Harris1, K Jarrod Millman2,3,4, Stéfan J van der Walt5,6,7, Ralf Gommers8, Pauli Virtanen9,10, David Cournapeau11, Eric Wieser12, Julian Taylor13, Sebastian Berg14, Nathaniel J Smith15, Robert Kern16, Matti Picus14, Stephan Hoyer17, Marten H van Kerkwijk18, Matthew Brett19,20, Allan Haldane21, Jaime Fernández Del Río22, Mark Wiebe23,24, Pearu Peterson25,26,27, Pierre Gérard-Marchant28,29, Kevin Sheppard30, Tyler Reddy31, Warren Weckesser14, Hameer Abbasi25, Christoph Gohlke32, Travis E Oliphant25.
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.Entities:
Mesh:
Year: 2020 PMID: 32939066 DOI: 10.1038/s41586-020-2649-2
Source DB: PubMed Journal: Nature ISSN: 0028-0836 Impact factor: 49.962