pith. sign in

arxiv: 2006.10256 · v1 · pith:KBFSLASQnew · submitted 2020-06-18 · 💻 cs.MS · stat.CO

Array Programming with NumPy

Pith reviewed 2026-05-19 08:27 UTC · model grok-4.3

classification 💻 cs.MS stat.CO
keywords NumPyarray programmingscientific computingPython ecosystemdata analysisinteroperabilityn-dimensional arrays
0
0 comments X p. Extension
pith:KBFSLASQ Add to your LaTeX paper What is a Pith Number?
\usepackage{pith}
\pithnumber{KBFSLASQ}

Prints a linked pith:KBFSLASQ badge after your title and writes the identifier into PDF metadata. Compiles on arXiv with no extra files. Learn more

The pith

NumPy uses a small set of array concepts to create a powerful paradigm for scientific data analysis.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

This paper presents how array programming in NumPy provides compact syntax for vectors, matrices, and multi-dimensional arrays. It shows that these concepts support organizing and analyzing data in diverse fields including physics, astronomy, and biology. NumPy forms the base of the scientific Python ecosystem and serves as an interoperability layer for other array libraries. A sympathetic reader would see this as explaining why one library can support so much research without constant reinvention of basic data tools.

Core claim

The central claim is that a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring, and analyzing scientific data. NumPy is the primary library implementing this in Python and acts as the foundation for the entire scientific Python universe. It increasingly serves as an interoperability layer between new array computation libraries developed for specialized needs.

What carries the argument

The ndarray object and the array programming operations built on top of it, which enable vectorized computations and broadcasting across dimensions.

If this is right

  • Scientific workflows in astronomy can incorporate NumPy for tasks like gravitational wave detection.
  • New array libraries can interoperate with existing code by adopting NumPy-like interfaces.
  • Data analysis in fields such as biology and finance becomes more accessible through consistent array syntax.
  • Research pipelines gain efficiency by avoiding low-level data manipulation code.

Where Pith is reading between the lines

These are editorial extensions of the paper, not claims the author makes directly.

  • Developers of future scientific software might prioritize compatibility with these array concepts to maximize adoption.
  • Teaching scientific computing could focus on array thinking as a primary skill rather than language-specific features.
  • If array programming proves this general, similar concepts could be adapted to other programming languages for broader impact.

Load-bearing premise

That the presented fundamental array concepts alone suffice for data handling in all mentioned scientific domains without needing domain-specific additions or performance optimizations.

What would settle it

Finding a scientific analysis task in one of the fields like chemistry or economics that requires structures beyond basic arrays or cannot be expressed efficiently with NumPy operations.

read the original abstract

Array programming provides a powerful, compact, 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 plays an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, material science, engineering, finance, and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves and the first imaging of a black hole. Here we show how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring, and analyzing scientific data. NumPy is the foundation upon which the entire scientific Python universe is constructed. It is so pervasive that several projects, targeting audiences with specialized needs, have developed their own NumPy-like interfaces and array objects. Because of its central position in the ecosystem, NumPy increasingly plays the role of an interoperability layer between these new array computation libraries.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

0 major / 2 minor

Summary. The manuscript is an expository overview of array programming in Python centered on NumPy. It describes how fundamental array concepts (indexing, broadcasting, ufuncs, and structured arrays) yield a compact syntax for data manipulation, positions NumPy as the foundational library for scientific Python across physics, astronomy, biology and other domains, and notes its emerging role as an interoperability layer for domain-specific array libraries. Real-world examples include its use in gravitational-wave detection and black-hole imaging pipelines.

Significance. If the descriptive account holds, the paper supplies a concise, accessible reference that documents NumPy’s design rationale and ecosystem centrality. Its explicit discussion of NumPy-like interfaces in other projects and the interoperability layer function provides a useful framing for future library development. The concrete scientific examples add credibility and illustrate practical impact without requiring new empirical claims.

minor comments (2)
  1. The abstract and introduction both state that NumPy is 'the foundation upon which the entire scientific Python universe is constructed.' A brief qualifier noting the existence of alternative array back-ends (already mentioned later) would avoid any appearance of overstatement in the opening paragraphs.
  2. Section on historical development would benefit from one additional sentence clarifying the relationship between the original Numeric and Numarray projects and the final NumPy unification, to help readers new to the ecosystem.

Simulated Author's Rebuttal

0 responses · 0 unresolved

We thank the referee for their positive and constructive review. Their summary correctly identifies the manuscript's focus on the core array programming concepts in NumPy and its foundational role across scientific domains. We are pleased that the referee recognizes the value of the interoperability discussion and the concrete scientific examples.

Circularity Check

0 steps flagged

No significant circularity in derivation chain

full rationale

The manuscript is an expository overview of NumPy's array programming model, its API, and its historical adoption across scientific domains. It contains no derivations, first-principles results, predictions, or mathematical equations that could be inspected for reduction to inputs by construction. Claims regarding NumPy's foundational role are presented descriptively with concrete usage examples rather than as outputs of any fitted model or self-referential argument. No self-citation chains, ansatzes, or uniqueness theorems are invoked as load-bearing steps. The text is therefore self-contained against external benchmarks and receives the default non-circularity finding.

Axiom & Free-Parameter Ledger

0 free parameters · 1 axioms · 0 invented entities

This is a review and overview paper with no new mathematical derivations or empirical fits; the ledger is therefore nearly empty.

axioms (1)
  • domain assumption A small set of array shape and operation rules is sufficient to support data work in the listed scientific domains.
    Invoked when the abstract states that fundamental array concepts lead to a powerful paradigm for organizing scientific data.

pith-pipeline@v0.9.0 · 5823 in / 1153 out tokens · 34150 ms · 2026-05-19T08:27:46.141222+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 18 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. GW240925 and GW250207: Astrophysical Calibration of Gravitational-wave Detectors

    gr-qc 2026-05 unverdicted novelty 8.0

    The first informative astrophysical calibration of gravitational-wave detectors is reported using GW240925 and GW250207.

  2. Gravity Echoes from Supermassive Black Hole Binaries

    astro-ph.HE 2026-04 unverdicted novelty 8.0

    Future microhertz detections combined with nanohertz pulsar terms can serve as gravity echoes to measure supermassive black hole binary inspiral rates from hundreds to thousands of years in the past.

  3. Neural network quantum states in the grand canonical ensemble

    quant-ph 2026-05 unverdicted novelty 7.0

    A new neural quantum state ansatz for bosons in the grand canonical ensemble achieves competitive variational energies in 1D and 2D systems and provides access to one-body reduced density matrices.

  4. Measuring neutrino mass and asymmetry through galaxy pairwise peculiar velocity

    astro-ph.CO 2026-04 unverdicted novelty 7.0

    Galaxy pairwise peculiar velocities from Cosmicflows-4 yield M_ν = 0.24^{+0.34}_{-0.18} eV and η² = 2.14^{+0.30}_{-0.32} (7σ non-zero asymmetry) in the CMB framework, consistent with prior Planck results.

  5. Probing Solar Symmetrons with Direct Detection

    hep-ph 2026-04 unverdicted novelty 7.0

    Solar tachocline production of symmetrons yields a keV-scale flux at Earth whose absorption in xenon detectors provides new complementary bounds on symmetron parameter space.

  6. PlotChain: Deterministic Checkpointed Evaluation of Multimodal LLMs on Engineering Plot Reading

    cs.AI 2026-01 conditional novelty 7.0

    PlotChain benchmark reports top MLLMs reaching ~80% field-level accuracy on engineering plot reading under human-like tolerances, but with persistent failures on frequency-domain tasks like bandpass and FFT spectra.

  7. CMB Limits on the Absorption of Light Vector and Axial-Vector Dark Matter

    astro-ph.CO 2026-05 conditional novelty 6.0

    Planck CMB data set upper limits on vector and axial-vector dark matter-electron couplings for masses 100 eV to 100 keV via energy injection from inelastic scattering and hydrogen absorption.

  8. Effects of magnetically driven shocks on nucleosynthesis and kilonovae from neutron star mergers

    astro-ph.HE 2026-05 unverdicted novelty 6.0

    Magnetically driven shocks from neutron star merger remnants can reheat ejecta to nuclear statistical equilibrium, alter r-process yields, and produce observable changes in kilonova color and light curves.

  9. A data-driven prediction for the primordial deuterium abundance

    astro-ph.CO 2026-04 unverdicted novelty 6.0

    Gaussian process regression on nuclear data predicts 10^5 D/H = 2.442 ± 0.040, 1.70 sigma below observation and consistent with first-principles calculations.

  10. Constraining Inflationary Particle Production with CMB Polarization

    astro-ph.CO 2025-09 unverdicted novelty 6.0

    No evidence for primordial hotspots in Planck polarization data leads to improved bounds on inflationary particle production couplings for light particles.

  11. Biased parameter inference of eccentric, spin-precessing binary black holes

    gr-qc 2025-10 unverdicted novelty 5.0

    Eccentric BBH signals recovered with quasi-circular precessing models show biases in chirp mass and χ_p; Bayes factors favor eccentric aligned-spin models when both eccentricity and precession are present.

  12. Binary black holes in the heat of merger

    gr-qc 2025-06 unverdicted novelty 5.0

    Develops a frequency-domain approximant for tidal heating in nonspinning black hole binaries that extends to merger and includes horizon parameters.

  13. Tests of General Relativity with Binary Black Holes from the second LIGO-Virgo Gravitational-Wave Transient Catalog

    gr-qc 2020-10 accept novelty 5.0

    No evidence for deviations from general relativity is found in LIGO-Virgo binary black hole events, with improved constraints on waveform parameters, graviton mass, and ringdown properties.

  14. Unitaria: Quantum Linear Algebra via Block Encodings

    quant-ph 2026-05 accept novelty 4.0

    Unitaria is a new open-source Python library that provides a high-level, composable interface for block encodings in quantum computing, enabling automatic circuit generation and classical simulation-based verification.

  15. VIGILant: an automatic classification pipeline for glitches in the Virgo detector

    gr-qc 2026-04 unverdicted novelty 4.0

    VIGILant applies tree-based models and a ResNet CNN to classify Virgo O3b glitches with 98% accuracy and has been deployed for daily use with an interactive dashboard.

  16. Cosmic Birefringence from the Atacama Cosmology Telescope Data Release 6

    astro-ph.CO 2025-09 conditional novelty 4.0

    Bayesian analysis of ACT DR6 CMB polarization data measures cosmic birefringence angle β = 0.215° ± 0.074° excluding zero at 2.9σ, consistent with prior WMAP and Planck results but limited by unexplained systematics.

  17. GWTC-3: Compact Binary Coalescences Observed by LIGO and Virgo During the Second Part of the Third Observing Run

    gr-qc 2021-11 accept novelty 4.0

    GWTC-3 catalogs 90 compact binary coalescence events with p_astro > 0.5 from LIGO and Virgo's first three observing runs, including the first confident neutron star-black hole binaries.

  18. Tests of General Relativity with GWTC-3

    gr-qc 2021-12 accept novelty 3.0

    No evidence for physics beyond general relativity is found in the analysis of 15 GW events from GWTC-3, with consistency in residuals, PN parameters, and remnant properties.

Reference graph

Works this paper leans on

74 extracted references · 74 canonical work pages · cited by 18 Pith papers · 2 internal anchors

  1. [1]

    Notation as a tool of thought,

    K. E. Iverson, “Notation as a tool of thought,” Communications of the ACM, vol. 23, p. 444465, Aug. 1980

  2. [2]

    Python: Batteries included,

    P. F. Dubois, “Python: Batteries included,” Computing in Science & Engineering , vol. 9, no. 3, pp. 7–9, 2007

  3. [3]

    Python for scientific com- puting,

    T. E. Oliphant, “Python for scientific com- puting,” Computing in Science & Engineering , vol. 9, pp. 10–20, May-June 2007

  4. [4]

    Python for sci- entists and engineers,

    K. J. Millman and M. Aivazis, “Python for sci- entists and engineers,” Computing in Science & Engineering, vol. 13, no. 2, pp. 9–12, 2011

  5. [5]

    Python: an ecosystem for scientific comput- ing,

    F. P´ erez, B. E. Granger, and J. D. Hunter, “Python: an ecosystem for scientific comput- ing,” Computing in Science & Engineering , vol. 13, no. 2, pp. 13–21, 2011

  6. [6]

    Ob- servation of gravitational waves from a binary black hole merger,

    B. P. Abbott, R. Abbott, T. Abbott, M. Aber- nathy, F. Acernese, K. Ackley, C. Adams, T. Adams, P. Addesso, R. Adhikari, et al., “Ob- servation of gravitational waves from a binary black hole merger,” Physical Review Letters , vol. 116, no. 6, p. 061102, 2016

  7. [7]

    High-resolution linear polarimetric imaging for the event horizon telescope,

    A. A. Chael, M. D. Johnson, R. Narayan, S. S. Doeleman, J. F. Wardle, and K. L. Bouman, “High-resolution linear polarimetric imaging for the event horizon telescope,” The Astrophysical Journal, vol. 829, no. 1, p. 11, 2016

  8. [8]

    Nu- merical Python,

    P. F. Dubois, K. Hinsen, and J. Hugunin, “Nu- merical Python,” Computers in Physics, vol. 10, no. 3, pp. 262–267, 1996

  9. [9]

    An open source project: Numerical Python,

    D. Ascher, P. F. Dubois, K. Hinsen, J. Hugunin, and T. E. Oliphant, “An open source project: Numerical Python,” 2001. 8

  10. [10]

    Steering object-oriented scientific computa- tions,

    T.-Y. Yang, G. Furnish, and P. F. Dubois, “Steering object-oriented scientific computa- tions,” in Proceedings of TOOLS USA 97. In- ternational Conference on Technology of Object Oriented Systems and Languages , pp. 112–119, IEEE, 1997

  11. [11]

    numarray: A new scientific array pack- age for Python,

    P. Greenfield, J. T. Miller, J. Hsu, and R. L. White, “numarray: A new scientific array pack- age for Python,” PyCon DC, 2003

  12. [12]

    T. E. Oliphant, Guide to NumPy . Trelgol Pub- lishing USA, 1st ed., 2006

  13. [13]

    SciPy 1.0—fundamental algorithms for scientific com- puting in Python,

    P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau, E. Burovski, P. Peterson, W. Weckesser, J. Bright, S. J. van der Walt, M. Brett, J. Wil- son, K. J. Millman, N. Mayorov, A. R. J. Nel- son, E. Jones, R. Kern, E. Larson, C. J. Carey, I. Polat, Y. Feng, E. W. Moore, J. VanderPlas, D. Laxalde, J. Perktold, R. Cimrman, I. Hen- ri...

  14. [14]

    Matplotlib: A 2D graphics envi- ronment,

    J. D. Hunter, “Matplotlib: A 2D graphics envi- ronment,” Computing in Science & Engineering, vol. 9, no. 3, pp. 90–95, 2007

  15. [15]

    Data structures for statistical computing in Python,

    W. McKinney, “Data structures for statistical computing in Python,” in Proceedings of the 9th Python in Science Conference (S. van der Walt and J. Millman, eds.), pp. 51 – 56, 2010

  16. [16]

    Scikit-learn: Ma- chine learning in Python,

    F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Van- derplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and ´E. Duchesnay, “Scikit-learn: Ma- chine learning in Python,” Journal of Machine Learning Research, vol. 12, no. Oct, pp. 2825– 2830, 2011

  17. [17]

    scikit-image: image processing in Python,

    S. van der Walt, J. L. Sch¨ onberger, J. Nunez- Iglesias, F. Boulogne, J. D. Warner, N. Yager, E. Gouillart, T. Yu, and the scikit-image con- tributors, “scikit-image: image processing in Python,” PeerJ, vol. 2, p. e453, 2014

  18. [18]

    The NumPy array: a structure for ef- ficient numerical computation,

    S. van der Walt, S. C. Colbert, and G. Varo- quaux, “The NumPy array: a structure for ef- ficient numerical computation,” Computing in Science & Engineering , vol. 13, no. 2, pp. 22– 30, 2011

  19. [19]

    Augem: automatically generate high perfor- mance dense linear algebra kernels on x86 cpus,

    Q. Wang, X. Zhang, Y. Zhang, and Q. Yi, “Augem: automatically generate high perfor- mance dense linear algebra kernels on x86 cpus,” in SC’13: Proceedings of the International Con- ference on High Performance Computing, Net- working, Storage and Analysis , pp. 1–12, IEEE, 2013

  20. [20]

    Model- driven level 3 blas performance optimization on loongson 3a processor,

    Z. Xianyi, W. Qian, and Z. Yunquan, “Model- driven level 3 blas performance optimization on loongson 3a processor,” in 2012 IEEE 18th International Conference on Parallel and Dis- tributed Systems, pp. 684–691, IEEE, 2012

  21. [21]

    IPython: a system for interactive scientific computing,

    F. P´ erez and B. E. Granger, “IPython: a system for interactive scientific computing,” Computing in Science & Engineering , vol. 9, no. 3, pp. 21– 29, 2007

  22. [22]

    Jupyter Notebooks—a publishing format for repro- ducible computational workflows,

    T. Kluyver, B. Ragan-Kelley, F. P´ erez, B. Granger, M. Bussonnier, J. Frederic, K. Kel- ley, J. Hamrick, J. Grout, S. Corlay, P. Ivanov, D. Avila, S. Abdalla, and C. Willing, “Jupyter Notebooks—a publishing format for repro- ducible computational workflows,” in Position- ing and Power in Academic Publishing: Play- ers, Agents and Agendas (F. Loizides and ...

  23. [23]

    Exploring network structure, dynamics, and function using NetworkX,

    A. A. Hagberg, D. A. Schult, and P. J. Swart, “Exploring network structure, dynamics, and function using NetworkX,” in Proceedings of the 7th Python in Science Conference (G. Varo- quaux, T. Vaught, and K. J. Millman, eds.), (Pasadena, CA USA), pp. 11–15, 2008

  24. [24]

    Astropy: A community Python package for astronomy,

    Astropy Collaboration, T. P. Robitaille, E. J. Tollerud, P. Greenfield, M. Droettboom, 9 E. Bray, T. Aldcroft, M. Davis, A. Ginsburg, A. M. Price-Whelan, W. E. Kerzendorf, A. Con- ley, N. Crighton, K. Barbary, D. Muna, H. Fer- guson, F. Grollier, M. M. Parikh, P. H. Nair, H. M. Unther, C. Deil, J. Woillez, S. Con- seil, R. Kramer, J. E. H. Turner, L. Singe...

  25. [25]

    The Astropy Project: Building an Open- science Project and Status of the v2.0 Core Pack- age,

    A. M. Price-Whelan, B. M. Sip˝ ocz, H. M. G¨ unther, P. L. Lim, S. M. Crawford, S. Con- seil, D. L. Shupe, M. W. Craig, N. Dencheva, A. Ginsburg, J. T. VanderPlas, L. D. Bradley, D. P´ erez-Su´ arez, M. de Val-Borro, P. Pa- per Contributors, T. L. Aldcroft, K. L. Cruz, T. P. Robitaille, E. J. Tollerud, A. Coordina- tion Committee, C. Ardelean, T. Babej, Y...

  26. [26]

    Biopython: freely available Python tools for computational molecular biol- ogy and bioinformatics,

    P. J. Cock, T. Antao, J. T. Chang, B. A. Chapman, C. J. Cox, A. Dalke, I. Friedberg, T. Hamelryck, F. Kauff, B. Wilczynski, and M. J. L. de Hoon, “Biopython: freely available Python tools for computational molecular biol- ogy and bioinformatics,” Bioinformatics, vol. 25, no. 11, pp. 1422–1423, 2009

  27. [27]

    Analysis of func- tional Magnetic Resonance Imaging in Python,

    K. J. Millman and M. Brett, “Analysis of func- tional Magnetic Resonance Imaging in Python,” Computing in Science & Engineering , vol. 9, no. 3, pp. 52–55, 2007

  28. [28]

    SunPy—Python for solar physics,

    T. SunPy Community, S. J. Mumford, S. Christe, D. P´ erez-Su´ arez, J. Ireland, A. Y. Shih, A. R. Inglis, S. Liedtke, R. J. Hewett, F. Mayer, K. Hughitt, N. Freij, T. Meszaros, S. M. Bennett, M. Malocha, J. Evans, A. Agrawal, A. J. Leonard, T. P. Robitaille, B. Mampaey, J. Iv´ an Campos-Rozo, and M. S. Kirk, “SunPy—Python for solar physics,” Computational...

  29. [29]

    Pangeo: A Big-data Ecosystem for Scalable Earth System Science,

    J. Hamman, M. Rocklin, and R. Abernathy, “Pangeo: A Big-data Ecosystem for Scalable Earth System Science,” in EGU General Assem- bly Conference Abstracts, EGU General Assem- bly Conference Abstracts, p. 12146, Apr 2018. 10

  30. [30]

    ehtim: Imaging, analysis, and sim- ulation software for radio interferometry,

    A. A. Chael, K. L. Bouman, M. D. Johnson, R. Narayan, S. S. Doeleman, J. F. Wardle, L. L. Blackburn, K. Akiyama, M. Wielgus, C.-k. Chan, et al., “ehtim: Imaging, analysis, and sim- ulation software for radio interferometry,”Astro- physics Source Code Library, 2019

  31. [31]

    Developing open- source scientific practice,

    K. J. Millman and F. P´ erez, “Developing open- source scientific practice,” Implementing Repro- ducible Research. CRC Press, Boca Raton, FL , pp. 149–183, 2014

  32. [32]

    The SciPy documentation project (technical overview),

    S. van der Walt, “The SciPy documentation project (technical overview),” in Proceedings of the 7th Python in Science Conference (SciPy

  33. [33]

    Varoquaux, T

    (G. Varoquaux, T. Vaught, and K. J. Mill- man, eds.), pp. 27–28, 2008

  34. [34]

    The SciPy documentation project,

    J. Harrington, “The SciPy documentation project,” in Proceedings of the 7th Python in Sci- ence Conference (SciPy 2008) (G. Varoquaux, T. Vaught, and K. J. Millman, eds.), pp. 33–35, 2008

  35. [35]

    Progress re- port: NumPy and SciPy documentation in 2009,

    J. Harrington and D. Goldsmith, “Progress re- port: NumPy and SciPy documentation in 2009,” in Proceedings of the 8th Python in Sci- ence Conference (SciPy 2009) (G. Varoquaux, S. van der Walt, and K. J. Millman, eds.), pp. 84–87, 2009

  36. [36]

    Software carpentry: Getting scien- tists to write better code by making them more productive,

    G. Wilson, “Software carpentry: Getting scien- tists to write better code by making them more productive,” Computing in Science & Engineer- ing, November–December 2006

  37. [37]

    How do scientists develop and use scientific software?,

    J. E. Hannay, H. P. Langtangen, C. MacLeod, D. Pfahl, J. Singer, and G. Wilson, “How do scientists develop and use scientific software?,” in Proc. 2009 ICSE Workshop on Software En- gineering for Computational Science and Engi- neering, 2009

  38. [38]

    Teaching computational repro- ducibility for neuroimaging,

    K. J. Millman, M. Brett, R. Barnowski, and J.-B. Poline, “Teaching computational repro- ducibility for neuroimaging,” Frontiers in Neu- roscience, vol. 12, p. 727, 2018

  39. [39]

    Pytorch: An imper- ative style, high-performance deep learning li- brary,

    A. Paszke, S. Gross, F. Massa, A. Lerer, J. Bradbury, G. Chanan, T. Killeen, Z. Lin, N. Gimelshein, L. Antiga, A. Desmaison, A. Kopf, E. Yang, Z. DeVito, M. Raison, A. Te- jani, S. Chilamkurthy, B. Steiner, L. Fang, J. Bai, and S. Chintala, “Pytorch: An imper- ative style, high-performance deep learning li- brary,” in Advances in Neural Information Pro- c...

  40. [40]

    TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems

    M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, et al. , “Tensorflow: Large-scale machine learning on heteroge- neous distributed systems,” arXiv preprint arXiv:1603.04467, 2016

  41. [41]

    MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems

    T. Chen, M. Li, Y. Li, M. Lin, N. Wang, M. Wang, T. Xiao, B. Xu, C. Zhang, and Z. Zhang, “Mxnet: A flexible and ef- ficient machine learning library for hetero- geneous distributed systems,” arXiv preprint arXiv:1512.01274, 2015

  42. [42]

    xarray: N-D labeled arrays and datasets in Python,

    S. Hoyer and J. Hamman, “xarray: N-D labeled arrays and datasets in Python,” Journal of Open Research Software, vol. 5, no. 1, 2017

  43. [43]

    Distributed multi-GPU comput- ing with Dask, CuPy and RAPIDS

    P. Entschev, “Distributed multi-GPU comput- ing with Dask, CuPy and RAPIDS.” EuroPy- thon 2019, 2019

  44. [44]

    Cython: The best of both worlds,

    S. Behnel, R. Bradshaw, C. Citro, L. Dalcin, D. S. Seljebotn, and K. Smith, “Cython: The best of both worlds,” Computing in Science & Engineering, vol. 13, no. 2, pp. 31–39, 2011

  45. [45]

    Numba: A LLVM-based Python JIT compiler,

    S. K. Lam, A. Pitrou, and S. Seibert, “Numba: A LLVM-based Python JIT compiler,” in Pro- ceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC , LLVM ’15, (New York, NY, USA), pp. 7:1–7:6, ACM, 2015

  46. [46]

    Pythran: En- abling static optimization of scientific python 11 programs,

    S. Guelton, P. Brunet, M. Amini, A. Merlini, X. Corbillon, and A. Raynaud, “Pythran: En- abling static optimization of scientific python 11 programs,” Computational Science & Discovery, vol. 8, no. 1, p. 014001, 2015

  47. [47]

    Netlib and na-net: Building a scientific computing community,

    J. Dongarra, G. H. Golub, E. Grosse, C. Moler, and K. Moore, “Netlib and na-net: Building a scientific computing community,” IEEE An- nals of the History of Computing , vol. 30, no. 2, pp. 30–41, 2008

  48. [48]

    The basis system,

    P. F. Dubois, “The basis system,” tech. rep., Lawrence Livermore National Laboratory, CA (USA), 1989. UCRL-MA-118543, Parts I-VI

  49. [49]

    Using the yorick interpreted language,

    D. H. Munro and P. F. Dubois, “Using the yorick interpreted language,” Computers in Physics , vol. 9, no. 6, pp. 609–615, 1995

  50. [50]

    R: a language for data analysis and graphics,

    R. Ihaka and R. Gentleman, “R: a language for data analysis and graphics,” Journal of Compu- tational and Graphical Statistics , vol. 5, no. 3, pp. 299–314, 1996

  51. [51]

    A programming language,

    K. E. Iverson, “A programming language,” in Proceedings of the May 1-3, 1962, Spring Joint Computer Conference, pp. 345–351, 1962

  52. [52]

    Lsst data management software development practices and tools,

    T. Jenness, F. Economou, K. Findeisen, F. Her- nandez, J. Hoblitt, K. S. Krughoff, K. Lim, R. H. Lupton, F. Mueller, W. O’Mullane, et al., “Lsst data management software development practices and tools,” in Software and Cyber- infrastructure for Astronomy V , vol. 10707, p. 1070709, International Society for Optics and Photonics, 2018

  53. [53]

    The rust lan- guage,

    N. D. Matsakis and F. S. Klock, “The rust lan- guage,” Ada Letters, vol. 34, pp. 103–104, Oct. 2014

  54. [54]

    Julia: A fresh approach to numer- ical computing,

    J. Bezanson, A. Edelman, S. Karpinski, and V. B. Shah, “Julia: A fresh approach to numer- ical computing,” SIAM Review , vol. 59, no. 1, pp. 65–98, 2017

  55. [55]

    LLVM: A compila- tion framework for lifelong program analysis and transformation,

    C. Lattner and V. Adve, “LLVM: A compila- tion framework for lifelong program analysis and transformation,” (San Jose, CA, USA), pp. 75– 88, Mar 2004

  56. [56]

    F2PY: a tool for connecting For- tran and Python programs,

    P. Peterson, “F2PY: a tool for connecting For- tran and Python programs,” International Jour- nal of Computational Science and Engineering , vol. 4, no. 4, pp. 296–305, 2009

  57. [57]

    NumPy project governance,

    The NumPy Project Community, “NumPy project governance,” 2015

  58. [58]

    NumPy code of conduct,

    The NumPy Project Community, “NumPy code of conduct,” 2018

  59. [59]

    Pep 427 – the wheel binary package format 1.0,

    D. Holth, “Pep 427 – the wheel binary package format 1.0,” 2012

  60. [60]

    multibuild,

    Brett, M. et al, “multibuild,” 2016

  61. [61]

    NEP 13 – a mechanism for overriding ufuncs,

    B. Griffith, P. Virtanen, N. Smith, M. van Kerk- wijk, and S. Hoyer, “NEP 13 – a mechanism for overriding ufuncs,” 2013

  62. [62]

    NEP 18 – a dispatch mech- anism for numpy’s high level array functions,

    S. Hoyer, M. Rocklin, M. van Kerkwijk, H. Ab- basi, and E. Wieser, “NEP 18 – a dispatch mech- anism for numpy’s high level array functions,” 2018

  63. [63]

    Pcg: A family of simple fast space-efficient statistically good algorithms for random number generation,

    M. E. O’Neill, “Pcg: A family of simple fast space-efficient statistically good algorithms for random number generation,” Tech. Rep. HMC- CS-2014-0905, Harvey Mudd College, Clare- mont, CA, Sept. 2014

  64. [64]

    Parallel random numbers: As easy as 1, 2, 3,

    J. K. Salmon, M. A. Moraes, R. O. Dror, and D. E. Shaw, “Parallel random numbers: As easy as 1, 2, 3,” in Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, SC ’11, (New York, NY, USA), pp. 16:1–16:12, ACM, 2011

  65. [65]

    Practrand, version 0.94

    C. Doty-Humphrey, “Practrand, version 0.94.”

  66. [66]

    Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator,

    M. Matsumoto and T. Nishimura, “Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator,” ACM Transactions on Modeling and Computer Simulation, vol. 8, pp. 3–30, Jan. 1998

  67. [67]

    bashtage/randomgen: Release 1.16.2,

    K. Sheppard, B. Duvenhage, P. de Buyl, and D. A. Ham, “bashtage/randomgen: Release 1.16.2,” Apr. 2019. 12

  68. [68]

    The ziggurat method for generating random variables,

    G. Marsaglia and W. W. Tsang, “The ziggurat method for generating random variables,” Jour- nal of Statistical Software, Articles, vol. 5, no. 8, pp. 1–7, 2000

  69. [69]

    Fast random integer generation in an interval,

    D. Lemire, “Fast random integer generation in an interval,” ACM Transactions on Modeling and Computer Simulation, vol. 29, pp. 1–12, Jan 2019

  70. [70]

    Top 10 sites for november 2019,

    top500, “Top 10 sites for november 2019,” 2019

  71. [71]

    Astra - supercomputers,

    wikichip, “Astra - supercomputers,” 2019

  72. [72]

    Arm architecture,

    Wikipedia, “Arm architecture,” 2019

  73. [73]

    Numpy roadmap,

    NumPy Developers, “Numpy roadmap,” 2019

  74. [74]

    Pep 599 – the manylinux2014 platform tag,

    Dustin Ingram, “Pep 599 – the manylinux2014 platform tag,” 2019. Methods We use Git for version control and GitHub as the public hosting service for our official upstream reposi- tory (https://github.com/numpy/numpy). We each work in our own copy (or fork) of the project and use the upstream repository as our integration point. To get new code into the upst...