Array programming with NumPy
Charles R. Harris,K. Jarrod Millman,Stefan van der Walt,Stefan van der Walt,Ralf Gommers,Pauli Virtanen,David Cournapeau,Eric Wieser,Julian Taylor,Sebastian Berg,Nathaniel J. Smith,Robert Kern,Matti Picus,Stephan Hoyer,Marten H. van Kerkwijk,Matthew Brett,Matthew Brett,Allan Haldane,Jaime Fernández del Río,Mark Wiebe,Mark Wiebe,Pearu Peterson,Pierre Gérard-Marchant,Kevin Sheppard,Tyler Reddy,Warren Weckesser,Hameer Abbasi,Christoph Gohlke,Travis E. Oliphant +28 more
Reads0
Chats0
TLDR
In this paper, the authors review how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring and analysing scientific data, and their evolution into a flexible interoperability layer between increasingly specialized computational libraries is discussed.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. NumPy is the primary array programming library for Python; here its fundamental concepts are reviewed and its evolution into a flexible interoperability layer between increasingly specialized computational libraries is discussed.read more
Citations
More filters
Journal ArticleDOI
Highly accurate protein structure prediction with AlphaFold
John M. Jumper,Richard O. Evans,Alexander Pritzel,Tim Green,Michael Figurnov,Olaf Ronneberger,Kathryn Tunyasuvunakool,Russell Bates,Augustin Žídek,Anna Potapenko,Alex Bridgland,Clemens Meyer,Simon A. A. Kohl,Andrew J. Ballard,Andrew Cowie,Bernardino Romera-Paredes,Stanislav Nikolov,R. D. Jain,Jonas Adler,Trevor Back,Stig Petersen,David Reiman,Ellen Clancy,Michal Zielinski,Martin Steinegger,Michalina Pacholska,Tamas Berghammer,Sebastian Bodenstein,David L. Silver,Oriol Vinyals,Andrew W. Senior,Koray Kavukcuoglu,Pushmeet Kohli,Demis Hassabis +33 more
TL;DR: For example, AlphaFold as mentioned in this paper predicts protein structures with an accuracy competitive with experimental structures in the majority of cases using a novel deep learning architecture. But the accuracy is limited by the fact that no homologous structure is available.
Journal Article
The Observation of Gravitational Waves from a Binary Black Hole Merger
TL;DR: The first direct detection of gravitational waves and the first observation of a binary black hole merger were reported in this paper, with a false alarm rate estimated to be less than 1 event per 203,000 years, equivalent to a significance greater than 5.1σ.
Journal ArticleDOI
seaborn: statistical data visualization
seaborn: Statistical data visualization
Michael Waskom,Olga Botvinnik,Maoz Gelbart,Joel Ostblom,Paul Hobson,Saulius Lukauskas,David C Gemperline,Tom Augspurger,Yaroslav O. Halchenko,Jordi Warmenhoven,John B. Cole,Julian de Ruiter,Jake Vanderplas,Stephan Hoyer,Cameron Pye,Alistair Miles,Corban Swain,Kyle Meyer,Marcel Martin,Bachant, Pete Quintero, Eric,Gero Kunter,Santi Villalba,Brian,Clark Fitzgerald,Constantine Evans,Mike Lee Williams,Drew O'Kane,Tal Yarkoni,Thomas Brunner +28 more
TL;DR: Seaborn as discussed by the authors is a library for making statistical graphics in Python that provides a high-level interface to matplotlib and integrates closely with pandas data structures, which makes it easy to translate questions about data into graphics that can answer them.
Journal ArticleDOI
Cellpose: a generalist algorithm for cellular segmentation
TL;DR: This work introduces a generalist, deep learning-based segmentation method called Cellpose, which can precisely segment cells from a wide range of image types and does not require model retraining or parameter adjustments.
References
More filters
Journal ArticleDOI
Being Sensitive to Uncertainty
L.M. Arriola,J.M. Hyman +1 more
TL;DR: This survey introduces the application, implementation, and underlying principles of sensitivity and uncertainty quantification inredictive modeling.
Journal ArticleDOI
The Ziggurat Method for Generating Random Variables
George Marsaglia,Wai Wan Tsang +1 more
TL;DR: In this article, a new version of the ziggurat method for generating a random variable from a given decreasing density is presented, which is faster and simpler than the original, and will produce, for example, normal or exponential variates at the rate of 15 million per second with a C version on a 400MHz PC.
Journal ArticleDOI
xarray: N-D labeled arrays and datasets in Python
Stephan Hoyer,Joseph Hamman +1 more
TL;DR: This approach combines an application programing interface (API) inspired by pandas with the Common Data Model for self-described scientific data to provide a toolkit and data structures for N-dimensional labeled arrays.
Proceedings ArticleDOI
The rust language
TL;DR: Rust is a new programming language for developing reliable and efficient systems that provides strong guarantees about isolation, concurrency, and memory safety, and offers a clear performance model, making it easier to predict and reason about program efficiency.
Proceedings ArticleDOI
Parallel random numbers: as easy as 1, 2, 3
TL;DR: It is demonstrated that independent, keyed transformations of counters produce a large alternative class of PRNGs with excellent statistical properties, ideally suited to modern multi- core CPUs, GPUs, clusters, and special-purpose hardware.
Related Papers (5)
SciPy 1.0: fundamental algorithms for scientific computing in Python.
Pauli Virtanen,Ralf Gommers,Travis E. Oliphant,Matt Haberland,Matt Haberland,Tyler Reddy,David Cournapeau,Evgeni Burovski,Pearu Peterson,Warren Weckesser,Jonathan Bright,Stefan van der Walt,Matthew Brett,Joshua Wilson,K. Jarrod Millman,Nikolay Mayorov,Andrew Nelson,Eric Jones,Robert Kern,Eric B. Larson,CJ Carey,Ilhan Polat,Yu Feng,Eric Moore,Jake Vanderplas,Denis Laxalde,Josef Perktold,Robert Cimrman,Ian Henriksen,Ian Henriksen,E. A. Quintero,Charles R. Harris,Anne M. Archibald,Antônio H. Ribeiro,Fabian Pedregosa,Paul van Mulbregt,SciPy . Contributors +36 more
Astropy: A community Python package for astronomy
Thomas P. Robitaille,Erik Tollerud,Perry Greenfield,Michael Droettboom,Erik Bray,Tom Aldcroft,Matt Davis,Adam Ginsburg,Adrian M. Price-Whelan,Wolfgang Kerzendorf,A. Conley,Neil H. M. Crighton,Kyle Barbary,Demitri Muna,Henry C. Ferguson,Frédéric Grollier,Madhura Parikh,Prasanth H. Nair,Hans Moritz Günther,Christoph Deil,Julien Woillez,Simon Conseil,Roban Kramer,J. Turner,Leo Singer,R. T. Fox,Benjamin A. Weaver,Victor Zabalza,Zachary I. Edwards,K. Azalee Bostroem,Douglas Burke,Andrew R. Casey,Steven M. Crawford,Nadia Dencheva,Justin Ely,Tim Jenness,Kathleen Labrie,Pey Lian Lim,Francesco Pierfederici,Andrew Pontzen,Andy Ptak,Brian L. Refsdal,Mathieu Servillat,Ole Streicher +43 more