Edited by Jeremy Kepner and John Gilbert
Graphs are among the most important abstract data types in computer science, and the algorithms that operate on them are critical to modern life. Graphs have been shown to be powerful tools for modeling complex problems because of their simplicity and generality. Graph algorithms are one of the pillars of mathematics, informing research in such diverse areas as combinatorial optimization, complexity theory, and topology. Algorithms on graphs are applied in many ways in today’s world – from Web rankings to metabolic networks, from finite element meshes to semantic graphs.
The current exponential growth in graph data has forced a shift to parallel computing for executing graph algorithms. Implementing parallel graph algorithms and achieving good parallel performance have proven difficult. This book addresses these challenges by exploiting the well-known duality between a canonical representation of graphs as abstract collections of vertices and edges and a sparse adjacency matrix representation. This linear algebraic approach is widely accessible to scientists and engineers who may not be formally trained in computer science. The authors show how to leverage existing parallel matrix computation techniques and the large amount of software infrastructure that exists for these computations to implement efficient and scalable parallel graph algorithms. The benefits of this approach are reduced algorithmic complexity, ease of implementation, and improved performance.
Graph Algorithms in the Language of Linear Algebra is the first book to cover
• graph algorithms accessible to engineers and scientists not trained in computer science but having a strong linear algebra background, enabling them to quickly understand and apply graph algorithms;
• array-based graph algorithms, showing readers how to express canonical graph algorithms using a highly elegant and efficient array notation and how to tap into the large range of tools and techniques that have been built for matrices and tensors;
• parallel array-based algorithms, demonstrating with examples how to easily implement parallel graph algorithms using array-based approaches, which enables readers to address much larger graph problems;
• array-based theory for analyzing graphs, providing a template for using array-based constructs to develop new theoretical approaches for graph analysis.
This book is suitable as the primary text for a class on linear algebraic graph algorithms and as either the primary or supplemental text for a class on graph algorithms for engineers and scientists without training in computer science.
This book will provide an excellent introduction to many classic graph algorithms for professional scientists and engineers with a background in linear algebra but not computer science.
About the Authors
Jeremy Kepner is a senior technical staff member at MIT Lincoln Laboratory. His research, on which he has published many articles (and the SIAM book Parallel Matlab for Multicore and Multinode Computers), focuses on the development of advanced libraries for the application of massively parallel computing to a variety of data intensive signal processing problems. Kepner is most proud of being the principal architect, principal investigator, or otherwise co-leader of several very talented teams that have produced a number of innovative technologies that have broken new ground in parallel computing.
John Gilbert is a SIAM Fellow and Professor of Computer Science at the University of California at Santa Barbara. His research interests are combinatorial scientific computing, high-performance graph algorithms, sparse matrix methods, tools and software for computational science and engineering, and numerical linear algebra.
To request an examination copy or desk copy of this book, please use our online request form at www.siam.org/catalog/adopt.php.
Graph Algorithms, Network Analysis, Adjacency Matrix, Sparse Matrixes, Parallel Programming, Combinatorial Scientific Computing
2011 / xxviii + 357 / Hardcover / ISBN 978-0-898719-90-1
List Price $110.00 / SIAM Member Price $77.00 / Order Code SE22