I am broadly interested in the interaction between scalable computing, network science, and data science. Specific topics of interest residing in the rich interface of these areas include graph algorithms, combinatorial scientific computing, optimization, and high-performance computing. I am most excited about spanning the full spectrum in the investigation of a computational problem: formulation of the problem (the right problems at the crux of the matter rarely present themselves on a silver platter), algorithm design and analysis, implementation in software, and deployment in applications.
My research interests and approaches have been shaped by several excellent opportunities I have had over the years. Most recently I held a research faculty position at the Department of Computer Science at Purdue University where I had the opportunity to work with a number of colleagues on various problems around network analysis and scientific computing. I served as a founding member and investigator in the Combinatorial Scientific Computing and Petascale Simulations Institute (CSCAPES), a multi-institution project funded by the Department of Energy via the Scientific Discovery through Advanced Computing program (SciDAC-2, 2006–2012). Earlier I held a postdoctoral position funded by the National Science Foundation to work on combinatorial scientific computing problems. In my PhD thesis (completed at the University of Bergen, located in the mountain-rich beautiful city of Bergen in the west coast of Norway), I worked on parallel graph coloring algorithms, the use of coloring in efficient computation of large, sparse Jacobian and Hessian matrices, and parallel computation models.
I didn’t quite know it by that name at the beginning, but a good part of my PhD thesis work belongs to combinatorial scientific computing (CSC), a monicker coined to describe the interdisciplinary field of investigation in which one pursues and applies tools from combinatorial mathematics and algorithmics to devise efficient methods for computational problems in science and engineering, which typically are described in the language of continuous mathematics.
There is a fascinating two-way street connecting matrix computations to network (or graph) computations. CSC primarily rides in the forward direction, where the original, encompassing context typically involves matrix computation and some graph abstraction and algorithm (typically in a quest to exploit sparsity) is used as an enabling technology in devising an efficient overall solution. Network science houses many scenarios where a route in the opposite direction is needed (PageRank and spectral graph theory can be cited as examples here). I have in my research over the years traveled quite some distance along the forward route. I look forward to journey equally far in the other direction together with ambitious students and new collaborators.
Traversing this two-way street in both directions with ease is likely to be critical in the era we live in when massive digital data continues to be collected at extraordinarily rapid rate and with high and growing complexity and uncertainty, when the data and the actors behind are increasingly interconnected, and when architectures of computing platforms continue to rapidly evolve. This set of circumstances brings forth an acute need for the development and implementation of fast and robust algorithms for analyzing massive datasets and extracting knowledge and insight. I find this opportunity very exciting. Come on board in the exploration!
For more information on my research (including online descriptions organized by themes and downloadable publications), teaching, and service activities, please visit my webpage at
Office: EME 59