A Matrix Product State Representation of Boolean Functions
Umut Eren Usturali, Claudio Chamon, Andrei E. Ruckenstein, Eduardo R. Mucciolo
TL;DR
The paper introduces BMP, a Matrix-Product-State–style representation of Boolean functions that encodes a vector of $m$ functions on $n$ bits as a train of binary matrices with a simple terminal vector. BMPs are shown to be equivalent to BDDs for a fixed variable order and admit a comprehensive set of linear-algebraic operations (CLEAN, APPLY, RESTRICT, INSERT, JOIN, COMPOSE, SWAP, REORDER, REVERSE ORDER) to construct, manipulate, and optimize representations; their practicality hinges on keeping bond dimensions polynomial through variable-order optimization. The authors analyze the computational complexity via BMP volume (bond dimensions) and discuss exact (A*-based) and heuristic (sifting) reordering strategies, comparing direct-product and direct-sum APPLY methods to control intermediate growth. An open-source Julia library implements these methods, and the BMP framework is positioned as a flexible, accessible alternative to BDDs with potential applications in classical and quantum computation contexts.
Abstract
We introduce a novel normal form representation of Boolean functions in terms of products of binary matrices, hereafter referred to as the Binary Matrix Product (BMP) representation. BMPs are analogous to the Tensor-Trains (TT) and Matrix Product States (MPS) used, respectively, in applied mathematics and in quantum many-body physics to accelerate computations that are usually inaccessible by more traditional approaches. BMPs turn out to be closely related to Binary Decision Diagrams (BDDs), a powerful compressed representation of Boolean functions invented in the late 80s by Bryant that has found a broad range of applications in many areas of computer science and engineering. We present a direct and natural translation of BMPs into Binary Decision Diagrams (BDDs), and derive an elementary set of operations used to manipulate and combine BMPs that are analogous to those introduced by Bryant for BDDs. Both BDDs and BMPs are practical tools when the complexity of these representations, as measured by the maximum bond dimension of a BMP (or the accumulated bond dimension across the BMP matrix train) and the number of nodes of a BDD, remains polynomial in the number of bits, $n$. In both cases, controlling the complexity hinges on optimizing the order of the Boolean variables. BMPs offer the advantage that their construction and manipulation rely on simple linear algebra -- a compelling feature that can facilitate the development of open-source libraries that are both more flexible and easier to use than those currently available for BDDs. An initial implementation of a BMP library is available on GitHub, with the expectation that the close conceptual connection to TT and MPS techniques will motivate further development of BMP methods by researchers in these fields, potentially enabling novel applications to classical and quantum computing.
