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 language | English |
---|---|
Pages (from-to) | 334-366 |
Number of pages | 33 |
Journal | Algorithmica |
Volume | 86 |
Issue number | 1 |
DOIs | |
State | Published - 1 Jan 2024 |
Externally published | Yes |
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