English

Faster algorithms for k-Orthogonal Vectors in low dimension

Data Structures and Algorithms 2025-07-16 v1

Abstract

In the Orthogonal Vectors problem (OV), we are given two families A,BA, B of subsets of {1,,d}\{1,\ldots,d\}, each of size nn, and the task is to decide whether there exists a pair aAa \in A and bBb \in B such that ab=a \cap b = \emptyset. Straightforward algorithms for this problem run in O(n2d)\mathcal{O}(n^2 \cdot d) or O(2dn)\mathcal{O}(2^d \cdot n) time, and assuming SETH, there is no 2o(d)n2ε2^{o(d)}\cdot n^{2-\varepsilon} time algorithm that solves this problem for any constant ε>0\varepsilon > 0. Williams (FOCS 2024) presented a O~(1.35dn)\tilde{\mathcal{O}}(1.35^d \cdot n)-time algorithm for the problem, based on the succinct equality-rank decomposition of the disjointness matrix. In this paper, we present a combinatorial algorithm that runs in randomized time O~(1.25dn)\tilde{\mathcal{O}}(1.25^d n). This can be improved to O(1.16dn)\mathcal{O}(1.16^d \cdot n) using computer-aided evaluations. We generalize our result to the kk-Orthogonal Vectors problem, where given kk families A1,,AkA_1,\ldots,A_k of subsets of {1,,d}\{1,\ldots,d\}, each of size nn, the task is to find elements aiAia_i \in A_i for every i{1,,k}i \in \{1,\ldots,k\} such that a1a2ak=a_1 \cap a_2 \cap \ldots \cap a_k = \emptyset. We show that for every fixed k2k \ge 2, there exists εk>0\varepsilon_k > 0 such that the kk-OV problem can be solved in time O(2(1εk)dn)\mathcal{O}(2^{(1 - \varepsilon_k)\cdot d}\cdot n). We also show that, asymptotically, this is the best we can hope for: for any ε>0\varepsilon > 0 there exists a k2k \ge 2 such that 2(1ε)dnO(1)2^{(1 - \varepsilon)\cdot d} \cdot n^{\mathcal{O}(1)} time algorithm for kk-Orthogonal Vectors would contradict the Set Cover Conjecture.

Keywords

Cite

@article{arxiv.2507.11098,
  title  = {Faster algorithms for k-Orthogonal Vectors in low dimension},
  author = {Anita Dürr and Evangelos Kipouridis and Karol Węgrzycki},
  journal= {arXiv preprint arXiv:2507.11098},
  year   = {2025}
}
R2 v1 2026-07-01T04:01:54.524Z