Computing Generalized Convolutions Faster Than Brute Force

Barış Can Esmer, Ariel Kulik, Dániel Marx, Philipp Schepper, Karol Węgrzycki

Research output: Contribution to journalArticlepeer-review

Abstract

In this paper, we consider a general notion of convolution. Let D be a finite domain and let Dn be the set of n-length vectors (tuples) of D . Let f: D× D→ D be a function and let ⊕ f be a coordinate-wise application of f. The f -Convolution of two functions g, h: Dn→ { - M, … , M} is (g⊛fh)(v):=∑vg,vh∈Dns.t.v=vg⊕fvhg(vg)·h(vh) for every v∈ Dn . This problem generalizes many fundamental convolutions such as Subset Convolution, XOR Product, Covering Product or Packing Product, etc. For arbitrary function f and domain D we can compute f -Convolution via brute-force enumeration in O~ (| D| 2n· polylog (M)) time. Our main result is an improvement over this naive algorithm. We show that f -Convolution can be computed exactly in O~ ((c· | D| 2) n· polylog (M)) for constant c: = 3 / 4 when D has even cardinality. Our main observation is that a cyclic partition of a function f: D× D→ D can be used to speed up the computation of f -Convolution, and we show that an appropriate cyclic partition exists for every f. Furthermore, we demonstrate that a single entry of the f -Convolution can be computed more efficiently. In this variant, we are given two functions g, h: Dn→ { - M, … , M} alongside with a vector v∈ Dn and the task of the f -Query problem is to compute integer (g⊛ fh) (v) . This is a generalization of the well-known Orthogonal Vectors problem. We show that f -Query can be computed in O~(|D|ω2n·polylog(M)) time, where ω∈ [2 , 2.372) is the exponent of currently fastest matrix multiplication algorithm.

Original languageEnglish
Pages (from-to)334-366
Number of pages33
JournalAlgorithmica
Volume86
Issue number1
DOIs
StatePublished - 1 Jan 2024
Externally publishedYes

Keywords

  • Fast Fourier Transform
  • Fast Subset Convolution
  • Generalized Convolution
  • Orthogonal Vectors

All Science Journal Classification (ASJC) codes

  • General Computer Science
  • Applied Mathematics
  • Computer Science Applications

Cite this