scispace - formally typeset
Open AccessJournal ArticleDOI

Array programming with NumPy

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

Content maybe subject to copyright    Report

Citations
More filters
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σ.

seaborn: Statistical data visualization

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

Numerical Python

Journal ArticleDOI

High-resolution linear polarimetric imaging for the event horizon telescope

TL;DR: Polarimetric Maximum Entropy Method (MEM) as discussed by the authors was proposed for image reconstruction of active galactic nuclei (AGNs) from very long baseline interferometry (VLBI) images.
Proceedings ArticleDOI

Model-driven Level 3 BLAS Performance Optimization on Loongson 3A Processor

TL;DR: This research analyzed the Loongson 3A architecture and built a performance model to highlight the key point, L1 data cache misses, which is different from level 3 BLAS optimization on the mainstream x86 CPU.
Journal ArticleDOI

Software Carpentry: Getting Scientists to Write Better Code by Making Them More Productive

TL;DR: What is software carpentry, a one-semester course that teaches scientists and engineers the "common core" of modern software development, and why?
Related Papers (5)