O'Reilly logo

Effective Computation in Physics by Anthony Scopatz, Kathryn D. Huff

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 9. NumPy: Thinking in Arrays

At the core of most computational physics problems lives an array. From the physics side, arrays are a natural way to describe numerical and discretized problems. This is because geometry may be chopped up into tetrahedrons (pyramids) or hexahedrons (cubes), and arrays may be used to represent scalar or vector values that live at every point in three-dimensional space. Furthermore, operations on arrays can be used to represent or approximate calculus operations, such as integration or derivatives. From the software side, an array is a contiguous block of memory where every element has the same type and layout. From both a physical and a computational perspective, arrays are concise, beautiful, and useful.

Every programing language that is serious about scientific computing has a notion of an array data language, either built into the language’s core utilities or available as a third-party package. Since an array is essentially just a sequence of bits, the array data language adds semantics for handling arrays that are native to the host language while taking advantage of the fact that you know you have an unbroken sequence of bits.

Some languages, such as MATLAB and IDL, are centered around the array data language concept. Other general-purpose languages, such as Fortran, are meant for everyday programming but support powerful array constructs natively. In other generic languages, the reference array implementations come as projects external ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required