Scarsity is the notion that the Jacobian J for a given function f : Rn → Rm may have fewer than n ∗ m degrees of freedom. A scarse J may be represented by a graph with a minimal edge count. So far, scarsity has been recognized only from a high-level application point of view, and no automatic exploitation has been attempted. We introduce an approach to recognize and use scarsity in computational graphs in a source transformation context. The goal is to approximate the minimal graph representation through a sequence of transformations including eliminations, reroutings, and normalizations, with a secondary goal of minimizing the transformation cost. The method requires no application-level insight and is implemented as a fully automatic transformation in OpenAD. This paper introduces the problem and a set of heuristics to approximate the minimal graph representation. We also present results on a set of test problems.

%B 5th International Conference on Automatic Differentiation (AD 2008) %I Lect. Notes Comput. Sci. Eng. %C Bonn, Germany %V 64 %P 103-114 %G eng %1 http://www.mcs.anl.gov/papers/P1469.pdf