Counting Value Sets: Algorithm and Complexity [article]

Qi Cheng, Joshua E. Hill, Daqing Wan
<span title="2011-11-04">2011</span> <i > arXiv </i> &nbsp; <span class="release-stage" >pre-print</span>
Let p be a prime. Given a polynomial in _p^m[x] of degree d over the finite field _p^m, one can view it as a map from _p^m to _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 p-adic
more &raquo; ... nt-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). In particular, this is a polynomial time algorithm for fixed d if p is reasonably small. We also show that the problem is #P-hard when the polynomial is given in a sparse representation, p=2, and m is allowed to vary, or when the polynomial is given as a straight-line program, m=1 and p 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 Kaltofen03,KaltofenKo05.
<span class="external-identifiers"> <a target="_blank" rel="external noopener" href="https://arxiv.org/abs/1111.1224v1">arXiv:1111.1224v1</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/h52n24p6vfb6lbv6qiwemoucvm">fatcat:h52n24p6vfb6lbv6qiwemoucvm</a> </span>
<a target="_blank" rel="noopener" href="https://archive.org/download/arxiv-1111.1224/1111.1224.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> File Archive [PDF] </button> </a> <a target="_blank" rel="external noopener" href="https://arxiv.org/abs/1111.1224v1" title="arxiv.org access"> <button class="ui compact blue labeled icon button serp-button"> <i class="file alternate outline icon"></i> arxiv.org </button> </a>