Parallel implementation of algorithms involves many difficult problems. These problems include round-off analysis, the way to convert sequential programs and algorithms into parallel mode, the choice of appropriate or optimal computer
architecture, and so on. To solve the stumbling blocks of these problems it is necessary to know the structure of algorithms.
This book teaches computer science students how to approach parallel computing from a mathematical perspective. It covers in detail the mathematical mechanism that permits students to investigate structures of both sequential and parallel
algorithms. This mechanism allows readers to recognize and explain the relations between different methods of constructing parallel algorithms, analyzing round-off errors, optimizing memory traffic, working out the fastest implementation for a given parallel computer, and other methods attending the joint investigation of algorithms and computers.