Python is one of the world's most popular programming languages for numerical
computing. In areas of application like physical simulation, signal processing,
predictive analytics, and more, engineers and data scientists increasingly use
Python as their primary tool for working with numerical large-scale data.
Despite this diversity of application domains, almost all numerical programming
in Python builds upon a small foundation of libraries. In particular, the
`numpy.ndarray` is the core data structure for the entire PyData ecosystem, and
the `numpy` library provides many of the foundational algorithms used to power
more domain-specific libraries.
The goal of this tutorial is to provide an introduction to numpy -- how it
works, how it's used, and what problems it aims to solve. In particular, we
will focus on building up students' mental model of how numpy works and how
**idiomatic** usage of numpy allows us to implement algorithms much more
efficiently than is possible in pure Python.
I am looking for editors/curators to help with branches of the tree. Please send me an email if you are interested.