Computing Generalized Convolutions Faster Than Brute Force
Abstract
In this paper, we consider a general notion of convolution. Let be a finite domain and let be the set of -length vectors (tuples) of . Let be a function and let be a coordinate-wise application of . The -Convolution of two functions is for every . This problem generalizes many fundamental convolutions such as Subset Convolution, XOR Product, Covering Product or Packing Product, etc. For arbitrary function and domain we can compute -Convolution via brute-force enumeration in time. Our main result is an improvement over this naive algorithm. We show that -Convolution can be computed exactly in for constant when has even cardinality. Our main observation is that a \emph{cyclic partition} of a function can be used to speed up the computation of -Convolution, and we show that an appropriate cyclic partition exists for every . Furthermore, we demonstrate that a single entry of the -Convolution can be computed more efficiently. In this variant, we are given two functions alongside with a vector and the task of the -Query problem is to compute integer . This is a generalization of the well-known Orthogonal Vectors problem. We show that -Query can be computed in time, where is the exponent of currently fastest matrix multiplication algorithm.
Keywords
Cite
@article{arxiv.2209.01623,
title = {Computing Generalized Convolutions Faster Than Brute Force},
author = {Barış Can Esmer and Ariel Kulik and Dániel Marx and Philipp Schepper and Karol Węgrzycki},
journal= {arXiv preprint arXiv:2209.01623},
year = {2023}
}
Comments
We improved constant c, 29 pages, 5 colored figures