The paradigm we will use to express our algorithms is generally known as the Single Program-Multiple Data (SPMD) paradigm: An identical program drives all nodes, but the path through the program is determined by the index of the node. While we will rarely, if ever, expose message passing explicitly, we will heavily rely on a mechanism for describing the environment in which the communication occurs. For this, we selected the Message-Passing Interface (MPI) [, ], which we also use as the communication layer hidden underneath PLAPACK. This interface is a recently adopted industry standard for message passing. We assume the reader has a rudimentary understanding of MPI.