English

Counting Value Sets: Algorithm and Complexity

Number Theory 2011-11-07 v1 Computational Complexity

Abstract

Let pp be a prime. Given a polynomial in \Fpm[x]\F_{p^m}[x] of degree dd over the finite field \Fpm\F_{p^m}, one can view it as a map from \Fpm\F_{p^m} to \Fpm\F_{p^m}, and examine the image of this map, also known as the value set. In this paper, we present the first non-trivial algorithm and the first complexity result on computing the cardinality of this value set. We show an elementary connection between this cardinality and the number of points on a family of varieties in affine space. We then apply Lauder and Wan's pp-adic point-counting algorithm to count these points, resulting in a non-trivial algorithm for calculating the cardinality of the value set. The running time of our algorithm is (pmd)O(d)(pmd)^{O(d)}. In particular, this is a polynomial time algorithm for fixed dd if pp is reasonably small. We also show that the problem is #P-hard when the polynomial is given in a sparse representation, p=2p=2, and mm is allowed to vary, or when the polynomial is given as a straight-line program, m=1m=1 and pp is allowed to vary. Additionally, we prove that it is NP-hard to decide whether a polynomial represented by a straight-line program has a root in a prime-order finite field, thus resolving an open problem proposed by Kaltofen and Koiran in \cite{Kaltofen03,KaltofenKo05}.

Keywords

Cite

@article{arxiv.1111.1224,
  title  = {Counting Value Sets: Algorithm and Complexity},
  author = {Qi Cheng and Joshua E. Hill and Daqing Wan},
  journal= {arXiv preprint arXiv:1111.1224},
  year   = {2011}
}
R2 v1 2026-06-21T19:31:14.177Z