The EDGE Language: Extended General Einsums for Graph Algorithms
This work offers a new mathematical notation for graph algorithms, potentially aiding researchers in comparing algorithms and enabling algebraic transformations, but it is an early-stage proposal without empirical validation.
The paper proposes EDGE, a unified tensor algebra notation for expressing graph algorithms, aiming to provide a rigorous, succinct, and expressive mathematical framework. It extends Einsum notation to support complex graph operations and demonstrates its use through examples.
In this work, we propose a unified abstraction for graph algorithms: the Extended General Einsums language, or EDGE. The EDGE language expresses graph algorithms in the language of tensor algebra, providing a rigorous, succinct, and expressive mathematical framework. EDGE leverages two ideas: (1) the well-known foundations provided by the graph-matrix duality, where a graph is simply a 2D tensor, and (2) the power and expressivity of Einsum notation in the tensor algebra world. In this work, we describe our design goals for EDGE and walk through the extensions we add to Einsums to support more complex operations common in graph algorithms. Additionally, we provide a few examples of how to express graph algorithms in our proposed notation. We hope that a single, mathematical notation for graph algorithms will (1) allow researchers to more easily compare different algorithms and different implementations of a graph algorithm; (2) enable developers to factor complexity by separating the concerns of what to compute (described with the extended Einsum notation) from the lower level details of how to compute; and (3) enable the discovery of different algorithmic variants of a problem through algebraic manipulations and transformations on a given EDGE expression.