Table of Contents
Fetching ...

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

Danny Scheinerman

TL;DR

This work tackles the hard problem of computing the permanent over the finite field $\\mathbb{F}_3$ by embedding $\\mathbb{F}_3^n$ into a pair of $\\mathbb{F}_2^n$ vectors, enabling fast binary operations through a bipedal representation. It adapts Ryser's Gray-code-based formula to operate modulo $3$ using these bitwise representations, and provides a high-performance Julia implementation that achieves substantial speedups (roughly an $80\times$ improvement on sizable instances) and supports large-scale parallel runs. The authors demonstrate the practicality of their approach with timing studies and a large parallel computation example, and they use Monte Carlo experiments to investigate the distribution of $\\text{perm}(A)$ for random $A \\in \\mathbb{F}_3^{n\times n}$, providing evidence for a conjectured uniform limit. Overall, the paper presents a concrete, scalable method for permanent computation mod $3$ with implications for probabilistic and combinatorial analysis over finite fields.

Abstract

We present a method of representing an element of $\mathbb{F}_3^n$ as an element of $\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 $\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 $\mbox{perm}(A)$ tends to the uniform distribution as $n \to \infty$.

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

TL;DR

This work tackles the hard problem of computing the permanent over the finite field by embedding into a pair of vectors, enabling fast binary operations through a bipedal representation. It adapts Ryser's Gray-code-based formula to operate modulo using these bitwise representations, and provides a high-performance Julia implementation that achieves substantial speedups (roughly an improvement on sizable instances) and supports large-scale parallel runs. The authors demonstrate the practicality of their approach with timing studies and a large parallel computation example, and they use Monte Carlo experiments to investigate the distribution of for random , providing evidence for a conjectured uniform limit. Overall, the paper presents a concrete, scalable method for permanent computation mod with implications for probabilistic and combinatorial analysis over finite fields.

Abstract

We present a method of representing an element of as an element of 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 . 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 tends to the uniform distribution as .
Paper Structure (7 sections, 1 theorem, 8 equations, 1 figure, 4 tables)

This paper contains 7 sections, 1 theorem, 8 equations, 1 figure, 4 tables.

Key Result

Theorem 2.1

Let $\bm \alpha$ and $\bm \beta$ have bipedal representations $(\hbox{mag}_1,\hbox{sgn}_1)$ and $(\hbox{mag}_2,\hbox{sgn}_2)$ respectively. Then bipedal representations $(\hbox{mag}_+,\hbox{sgn}_+)$, $(\hbox{mag}_-,\hbox{sgn}_-)$, $(\hbox{mag}_\times,\hbox{sgn}_\times)$ and $(\hbox{mag}_\div,\hbox{s

Figures (1)

  • Figure 1: Probability a random matrix in $\mathbb{F}_3^{n\times n}$ has permanent equal to zero. Points in blue are exact, points in red are estimated from Monte Carlo trials.

Theorems & Definitions (3)

  • Definition 2.1
  • Theorem 2.1
  • Conjecture 4.1