Year: 2024
Type: article
Abstract: Evaluating a Boolean polynomial on all possible inputs (i.e., building the truth table of the corresponding Boolean function) is a simple computational problem that sometimes appears inside broader applications, for instance in cryptanalysis or in the implementation of more sophisticated algorithms to solve Boolean polynomial systems. Two techniques share the crown to perform this task: the Fast Exhaustive Search (FES) algorithm from 2010 (which is based on Gray Codes) and the space-efficient Moebius transform from 2021 (which is reminiscent of the FFT). Both require \(\mathcal{O}(d2^{n})\) operations for a degree- \(d\) Boolean polynomial on \(n\) variables and operate mostly in-place, but have other slightly different characteristics. They both provide an efficient iterator over the full truth table. This article describes BoolEAN POLynomial Evaluation (BeanPolE), a concise and flexible C library that implements both algorithms, as well as many other functions to deal with Boolean multivariate polynomials in dense representation.
DOI: 10.1145/3699957
Author: Charles Bouillaguet
Institution: Sorbonne Université
Language: English
Subfield: Computational Theory and Mathematics
Field: Computer Science
Domain: Physical Sciences
Open Access status: green
OpenAlex ID: W4391416625
