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 ArticleDOI

Rapid Stellar and Binary Population Synthesis with COMPAS

TL;DR: Compact Object Mergers: Population Astrophysics and Statistics (COMPAS; https://compas.science) as mentioned in this paper is a public rapid binary population synthesis code that generates populations of isolated stellar binaries under a set of parametrized assumptions.
Posted Content

GWTC-2.1: Deep Extended Catalog of Compact Binary Coalescences Observed by LIGO and Virgo During the First Half of the Third Observing Run

Richard J. Abbott, +1429 more
TL;DR: The second GWTC-2.1 catalog as mentioned in this paper reports on a deeper list of candidate events observed over the same period, which employ three matched-filter search pipelines for candidate identification, and estimate the probability of astrophysical origin for each candidate event.
Journal ArticleDOI

Laser beam powder bed fusion of nitinol shape memory alloy (SMA)

TL;DR: In this article, the 3D printing of NiTi shape memory alloy (SMA) in cuboidal shaped samples via the Laser Powder Bed Fusion (L-PBF) process using a dissimilar material build plate of 316L stainless steel.
Journal ArticleDOI

Planes of satellites around Milky Way/M31-mass galaxies in the FIRE simulations and comparisons with the Local Group

TL;DR: Samuel et al. as discussed by the authors examined the prevalence, longevity, and causes of satellite dwarf galaxies, as observed in the Local Group, using 14 Milky Way/Andromeda-(MW/M31) mass host galaxies from the Feedback In Realistic Environments-2 simulations.
Journal ArticleDOI

First Estimation of Global Trends in Nocturnal Power Emissions Reveals Acceleration of Light Pollution

TL;DR: The hidden impact of the transition to solid-state light-emitting diode (LED) technology, which increases emissions at visible wavelengths undetectable to existing satellite sensors, is estimated, suggesting that the true increase in radiance in the visible spectrum may be as high as globally 270% and 400% on specific regions.
References
More filters
Journal Article

Scikit-learn: Machine Learning in Python

TL;DR: Scikit-learn is a Python module integrating a wide range of state-of-the-art machine learning algorithms for medium-scale supervised and unsupervised problems, focusing on bringing machine learning to non-specialists using a general-purpose high-level language.
Journal ArticleDOI

Matplotlib: A 2D Graphics Environment

TL;DR: Matplotlib is a 2D graphics package used for Python for application development, interactive scripting, and publication-quality image generation across user interfaces and operating systems.
Journal ArticleDOI

SciPy 1.0--Fundamental Algorithms for Scientific Computing in Python

TL;DR: SciPy as discussed by the authors is an open source scientific computing library for the Python programming language, which includes functionality spanning clustering, Fourier transforms, integration, interpolation, file I/O, linear algebra, image processing, orthogonal distance regression, minimization algorithms, signal processing, sparse matrix handling, computational geometry, and statistics.
Proceedings ArticleDOI

TensorFlow: a system for large-scale machine learning

TL;DR: TensorFlow as mentioned in this paper is a machine learning system that operates at large scale and in heterogeneous environments, using dataflow graphs to represent computation, shared state, and the operations that mutate that state.
Related Papers (5)