dc.description.abstract | Classically, many graph algorithms in computer science operate on representations of graphs other than the adjacency matrix. For example, the breadth-first search and many more complex shortest-path algorithms most often use an adjacency list representation of a graph. They also often involve iterating through some data structure which stores the current frontier of the search. However, many graph algorithms have dual implementations and perspectives involving linear algebraic operations on adjacency matrices. Approaching graph algorithms in this way comes with many advantages, including performance, ease of implementation, and code readability. GraphBLAS is a standard which provides a suite of building blocks for implementing graph algorithms using a linear algebraic approach via sparse matrices. Fast Graphlet Transform is an algorithm which detects graphlets, or subgraphs with small numbers of nodes, in a larger graph and describes the structure of the graph by determining the count of various types of graphlets adjacent to each vertex. In this paper, we provide some background on a linear algebraic perspective to graph algorithms and demonstrate its power by discussing the process of building the Fast Graphlet Transform algorithm for LAGraph, a library of graph algorithms built on top of GraphBLAS. Further, we compare both the ease of implementation and the performance of Fast Graphlet Transform in GraphBLAS with the code published by the original Fast Graphlet Transform paper authors. | |