Combinatorial Scientific Computing

Edited by Uwe Naumann, Olaf Schenk

© 2012 – Chapman and Hall/CRC

600 pages | 15 Color Illus. | 128 B/W Illus.

Purchasing Options:
Hardback: 9781439827352
pub: 2012-01-25
US Dollars$97.95

About the Book

Combinatorial Scientific Computing explores the latest research on creating algorithms and software tools to solve key combinatorial problems on large-scale high-performance computing architectures. It includes contributions from international researchers who are pioneers in designing software and applications for high-performance computing systems.

The book offers a state-of-the-art overview of the latest research, tool development, and applications. It focuses on load balancing and parallelization on high-performance computers, large-scale optimization, algorithmic differentiation of numerical simulation code, sparse matrix software tools, and combinatorial challenges and applications in large-scale social networks. The authors unify these seemingly disparate areas through a common set of abstractions and algorithms based on combinatorics, graphs, and hypergraphs.

Combinatorial algorithms have long played a crucial enabling role in scientific and engineering computations and their importance continues to grow with the demands of new applications and advanced architectures. By addressing current challenges in the field, this volume sets the stage for the accelerated development and deployment of fundamental enabling technologies in high-performance scientific computing.


"This text is a deep and--as any scientist working with large datasets will tell you--much-needed treatment of an emerging field, focused specifically on large-scale computing. It is readable and practical, and covers areas that have many open problems, making it an excellent resource both for scientific researchers looking for solutions and computing researchers looking for computational and combinatoric problems to solve."

— Computing Reviews, May 2013

Table of Contents

Combinatorial Scientific Computing: Past Successes, Current Opportunities, Future Challenges, Bruce Hendrickson and Alex Pothen


The CSC Community

Current Opportunities

Future Challenges


Combinatorial Problems in Solving Linear Systems, Iain Duff and Bora Uçar



Direct Methods

Iterative Methods


Combinatorial Preconditioners, Sivan Toledo and Haim Avron


Symmetric Diagonally Dominant Matrices and Graphs

Support Theory

Embeddings and Combinatorial Support Bounds

Combinatorial Preconditioners

Scalable Hybrid Linear Solvers, Madan Sathe, Olaf Schenk, Bora Uçar, and Ahmed Sameh


PSPIKE—A Scalable Hybrid Linear Solver

Combinatorics in the Hybrid Solver PSPIKE

Computational Results in PDE-Constrained Optimization


Combinatorial Problems in Algorithmic Differentiation, Uwe Naumann and Andrea Walther


Compression Techniques

Data Flow Reversal

Elimination Techniques

Summary and Conclusion

Combinatorial Problems in OpenAD, Jean Utke and Uwe Naumann


Computational Graphs

Reversal Schemes

Getting Started with ADOL-C, Andrea Walther and Andreas Griewank


Preparing a Code Segment for Differentiation

Easy-to-Use Drivers

Reusing the Pre-Value Tape for Arbitrary Input Values

Suggestions for Improved Efficiency

Advance Algorithmic Differentiation in ADOL-C

Tapeless Forward Differentiation

Conclusions and Further Developments

Algorithmic Differentiation and Nonlinear Optimization for an Inverse Medium Problem, Johannes Huber, Olaf Schenk, Uwe Naumann, Ebadollah Varnik, and Andreas Wächter


The Inverse Medium Problem

Large-Scale Nonlinear Optimization and IPOPT

Closed Form of Derivatives

Algorithmic Differentiation

Sparse Linear Algebra and PARDISO

Numerical Experiments

Combinatorial Aspects/Algorithms in Computational Fluid Dynamics, Rainald Löhner

System of Conservation Laws

Grid Size Estimates

Work Estimates for Different Shape-Functions

Basic Data Structures and Loops

Example: Blast in Room

Conclusions and Outlook

Unstructured Mesh Generation, Jonathan Richard Shewchuk



Methods of Mesh Generation

Guaranteed-Quality Mesh Generation

3D Delaunay Mesh Generation, Klaus Gärtner, Hang Si, Alexander Rand, and Noel Walkington


Delaunay Refinement

Termination and Output Size

Handling Small Input Angles

Implementation and Examples

Two-Dimensional Approaches to Sparse Matrix Partitioning, Rob H. Bisseling, Bas O. Fagginger Auer, A.N. Yzelman, Tristan van Leeuwen, and Űmit V. Çatalyürek


Sparse Matrices and Hypergraphs

Parallel Sparse Matrix–Vector Multiplication

Coarse-Grain Partitioning

Fine-Grain Partitioning

The Hybrid Partitioning Algorithm

Time Complexity

Experimental Results

Conclusions and Outlook

Parallel Partitioning, Ordering, and Coloring in Scientific Computing, E.G. Boman, C. Chevalier, K.D. Devine, and U.V. Catalyurek


Partitioning and Load Balancing



Scotch and PT-Scotch Graph Partitioning Software: An Overview, François Pellegrini


The Problems to Solve

General Architecture of the Scotch library

Multilevel Framework

Parallel Graph Coarsening Algorithms

Parallel Partition Refinement Algorithms

Performance Issues

Conclusion and Future Works

Massively Parallel Graph Partitioning: A Case in Human Bone Simulations, C. Bekas, A. Curioni, P. Arbenz, C. Flaig, G.H. van Lenthe, R. Müller, and A.J. Wirth


Computational Model

The Study


Algorithmic and Statistical Perspectives on Large-Scale Data Analysis, Michael W. Mahoney


Diverse Approaches to Modern Data Analysis Problems

Genetics Applications and Novel Matrix Algorithms

Internet Applications and Novel Graph Algorithms

Conclusions and Future Directions

Computational Challenges in Emerging Combinatorial Scientific Computing Applications, David A. Bader and Kamesh Madduri


Analysis of Social and Technological Networks

Combinatorial Problems in Computational Biology

Summary and Concluding Remarks

Spectral Graph Theory, Daniel Spielman



The Matrices Associated with a Graph

Some Examples

The Role of the Courant-Fischer Theorem

Elementary Facts

Spectral Graph Drawing

Algebraic Connectivity and Graph Partitioning

Coloring and Independent Sets

Perturbation Theory and Random Graphs

Relative Spectral Graph Theory

Directed Graphs

Concluding Remarks

Algorithms for Visualizing Large Networks, Yifan Hu


Algorithms for Drawing Large Graphs

Examples of Large Graph Drawings


A Bibliography appears at the end of each chapter.

About the Editors

Uwe Naumann is an associate professor of computer science at RWTH Aachen University. Dr. Naumann has published more than 80 peer-reviewed papers and chaired several workshops. His research focuses on algorithmic differentiation, combinatorial graph algorithms, high-performance scientific computing, and the application of corresponding methods to real-world problems in computational science, engineering, and finance.

Olaf Schenk is an associate professor of computer science at the University of Lugano. Dr. Schenk has published more than 70 peer-reviewed book chapters, journal articles, and conference contributions. In 2008, he received an IBM Faculty Award on Cell Processors for Biomedical Hyperthermia Applications. His research interests include algorithmic and architectural problems in computational mathematics, scientific computing, and high-performance computing.

About the Series

Chapman & Hall/CRC Computational Science

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
MATHEMATICS / Arithmetic
MATHEMATICS / Combinatorics