English

Fast computation of permanents over $\mathbb{F}_3$ via $\mathbb{F}_2$ arithmetic

Data Structures and Algorithms 2024-08-06 v2 Combinatorics

Abstract

We present a method of representing an element of F3n\mathbb{F}_3^n as an element of Fn2×Fn2\mathbb{F}_n^2 \times \mathbb{F}_n^2 which in practice will be a pair of unsigned integers. We show how to do addition, subtraction and pointwise multiplication and division of such vectors quickly using primitive binary operations (and, or, xor). We use this machinery to develop a fast algorithm for computing the permanent of a matrix in F3n×n\mathbb{F}_3^{n\times n}. We present Julia code for a natural implementation of the permanent and show that our improved implementation gives, roughly, a factor of 80 speedup for problems of practical size. Using this improved code, we perform Monte Carlo simulations that suggest that the distribution of \mboxperm(A)\mbox{perm}(A) tends to the uniform distribution as nn \to \infty.

Keywords

Cite

@article{arxiv.2407.20205,
  title  = {Fast computation of permanents over $\mathbb{F}_3$ via $\mathbb{F}_2$ arithmetic},
  author = {Danny Scheinerman},
  journal= {arXiv preprint arXiv:2407.20205},
  year   = {2024}
}

Comments

11 pages, 1 figure