Chapter 3. Data Structures
Well I live with snakes and lizards And other things that go bump in the night
—Ministry, “Everyday Is Halloween”
Higher mathematics is rich in structures and formalisms that take mathematics beyond the realm of numbers. This chapter includes a potpourri of recipes for data structures and algorithms that arise in linear algebra, tensor calculus, set theory, graph theory, and computer science. For the most part, lists form the foundation for these structures. Mathematica gains a lot of mileage by representing sets, vectors, matrices, and tensors using lists because all the generic list operations are available for their manipulation. Of course, a list, a set, and a tensor are very distinct entities from a mathematical point of view, but this distinction is handled by special-purpose functions rather than special-purpose data structures.
This introduction reviews the most common operations associated with list structures but is not an exhaustive reference. These operations will be used frequently throughout this book, so you should have some basic familiarity.
The foundation of most data structures in Mathematica is the
list. It is difficult to do much advanced work with Mathematica unless
you are fluent in its functions for list processing. To this end, the
initial recipes revolve around basic list processing. A list in
Mathematica is constructed using the function
List[elem1,elem2,...,elemN] or, more commonly, with curly brackets ...