Permutation polynomial
In mathematics, a permutation polynomial (for a given ring) is a polynomial that acts as a permutation of the elements of the ring, i.e. the map is a bijection. In case the ring is a finite field, the Dickson polynomials, which are closely related to the Chebyshev polynomials, provide examples. [1] Over a finite field, every function, so in particular every permutation of the elements of that field, can be written as a polynomial function.
In the case of finite rings Z/nZ, such polynomials have also been studied and applied in the interleaver component of error detection and correction algorithms.[2][3]
Single variable permutation polynomials over finite fields
Let Fq = GF(q)Script error: No such module "Check for unknown parameters". be the finite field of characteristic Template:Mvar, that is, the field having Template:Mvar elements where q = peScript error: No such module "Check for unknown parameters". for some prime Template:Mvar. A polynomial Template:Mvar with coefficients in FqScript error: No such module "Check for unknown parameters". (symbolically written as f ∈ Fq[x]Script error: No such module "Check for unknown parameters".) is a permutation polynomial of FqScript error: No such module "Check for unknown parameters". if the function from FqScript error: No such module "Check for unknown parameters". to itself defined by is a permutation of FqScript error: No such module "Check for unknown parameters"..[4]
Due to the finiteness of FqScript error: No such module "Check for unknown parameters"., this definition can be expressed in several equivalent ways:[5]
- the function is onto (surjective);
- the function is one-to-one (injective);
- f(x) = aScript error: No such module "Check for unknown parameters". has a solution in FqScript error: No such module "Check for unknown parameters". for each Template:Mvar in FqScript error: No such module "Check for unknown parameters".;
- f(x) = aScript error: No such module "Check for unknown parameters". has a unique solution in FqScript error: No such module "Check for unknown parameters". for each Template:Mvar in FqScript error: No such module "Check for unknown parameters"..
A characterization of which polynomials are permutation polynomials is given by
(Hermite's Criterion)[6][7] f ∈ Fq[x]Script error: No such module "Check for unknown parameters". is a permutation polynomial of FqScript error: No such module "Check for unknown parameters". if and only if the following two conditions hold:
- Template:Mvar has exactly one root in FqScript error: No such module "Check for unknown parameters".;
- for each integer tScript error: No such module "Check for unknown parameters". with 1 ≤ t ≤ q − 2Script error: No such module "Check for unknown parameters". and , the reduction of f(x)t mod (xq − x)Script error: No such module "Check for unknown parameters". has degree ≤ q − 2Script error: No such module "Check for unknown parameters"..
If f(x)Script error: No such module "Check for unknown parameters". is a permutation polynomial defined over the finite field GF(q)Script error: No such module "Check for unknown parameters"., then so is g(x) = a f(x + b) + cScript error: No such module "Check for unknown parameters". for all a ≠ 0, bScript error: No such module "Check for unknown parameters". and Template:Mvar in GF(q)Script error: No such module "Check for unknown parameters".. The permutation polynomial g(x)Script error: No such module "Check for unknown parameters". is in normalized form if a, bScript error: No such module "Check for unknown parameters". and Template:Mvar are chosen so that g(x)Script error: No such module "Check for unknown parameters". is monic, g(0) = 0Script error: No such module "Check for unknown parameters". and (provided the characteristic Template:Mvar does not divide the degree Template:Mvar of the polynomial) the coefficient of xn−1Script error: No such module "Check for unknown parameters". is 0.
There are many open questions concerning permutation polynomials defined over finite fields.[8][9]
Small degree
Hermite's criterion is computationally intensive and can be difficult to use in making theoretical conclusions. However, Dickson was able to use it to find all permutation polynomials of degree at most five over all finite fields. These results are:[10][7]
| Normalized Permutation Polynomial of FqScript error: No such module "Check for unknown parameters". | Template:Mvar |
|---|---|
| any | |
| ( not a square) | |
| (if its only root in FqScript error: No such module "Check for unknown parameters". is 0) | |
| ( not a fourth power) | |
| ( not a square) | |
| ( arbitrary) | |
| ( not a square) | |
| ( not a square) |
A list of all monic permutation polynomials of degree six in normalized form can be found in Script error: No such module "Footnotes"..[11]
Some classes of permutation polynomials
Beyond the above examples, the following list, while not exhaustive, contains almost all of the known major classes of permutation polynomials over finite fields.[12]
- xnScript error: No such module "Check for unknown parameters". permutes GF(q)Script error: No such module "Check for unknown parameters". if and only if Template:Mvar and q − 1Script error: No such module "Check for unknown parameters". are coprime (notationally, (n, q − 1) = 1Script error: No such module "Check for unknown parameters".).[13]
- If Template:Mvar is in GF(q)Script error: No such module "Check for unknown parameters". and n ≥ 1Script error: No such module "Check for unknown parameters". then the Dickson polynomial (of the first kind) Dn(x,a)Script error: No such module "Check for unknown parameters". is defined by
These can also be obtained from the recursion with the initial conditions and . The first few Dickson polynomials are:
If a ≠ 0Script error: No such module "Check for unknown parameters". and n > 1Script error: No such module "Check for unknown parameters". then Dn(x, a)Script error: No such module "Check for unknown parameters". permutes GF(q) if and only if (n, q2 − 1) = 1Script error: No such module "Check for unknown parameters"..[14] If a = 0Script error: No such module "Check for unknown parameters". then Dn(x, 0) = xnScript error: No such module "Check for unknown parameters". and the previous result holds.
- If GF(qr)Script error: No such module "Check for unknown parameters". is an extension of GF(q)Script error: No such module "Check for unknown parameters". of degree Template:Mvar, then the linearized polynomial with αsScript error: No such module "Check for unknown parameters". in GF(qr)Script error: No such module "Check for unknown parameters"., is a linear operator on GF(qr)Script error: No such module "Check for unknown parameters". over GF(q)Script error: No such module "Check for unknown parameters".. A linearized polynomial L(x)Script error: No such module "Check for unknown parameters". permutes GF(qr)Script error: No such module "Check for unknown parameters". if and only if 0 is the only root of L(x)Script error: No such module "Check for unknown parameters". in GF(qr)Script error: No such module "Check for unknown parameters"..[13] This condition can be expressed algebraically as[15]
The linearized polynomials that are permutation polynomials over GF(qr)Script error: No such module "Check for unknown parameters". form a group under the operation of composition modulo , which is known as the Betti-Mathieu group, isomorphic to the general linear group GL(r, Fq)Script error: No such module "Check for unknown parameters"..[15]
- If g(x)Script error: No such module "Check for unknown parameters". is in the polynomial ring Fq[x]Script error: No such module "Check for unknown parameters". and g(xs)Script error: No such module "Check for unknown parameters". has no nonzero root in GF(q)Script error: No such module "Check for unknown parameters". when Template:Mvar divides q − 1Script error: No such module "Check for unknown parameters"., and r > 1Script error: No such module "Check for unknown parameters". is relatively prime (coprime) to q − 1Script error: No such module "Check for unknown parameters"., then xr(g(xs))(q - 1)/sScript error: No such module "Check for unknown parameters". permutes GF(q)Script error: No such module "Check for unknown parameters"..[7]
- Only a few other specific classes of permutation polynomials over GF(q)Script error: No such module "Check for unknown parameters". have been characterized. Two of these, for example, are: where Template:Mvar divides q − 1Script error: No such module "Check for unknown parameters"., and where Template:Mvar divides pn − 1Script error: No such module "Check for unknown parameters"..
Exceptional polynomials
An exceptional polynomial over GF(q)Script error: No such module "Check for unknown parameters". is a polynomial in Fq[x]Script error: No such module "Check for unknown parameters". which is a permutation polynomial on GF(qm)Script error: No such module "Check for unknown parameters". for infinitely many Template:Mvar.[16]
A permutation polynomial over GF(q)Script error: No such module "Check for unknown parameters". of degree at most q1/4Script error: No such module "Check for unknown parameters". is exceptional over GF(q)Script error: No such module "Check for unknown parameters"..[17]
Every permutation of GF(q)Script error: No such module "Check for unknown parameters". is induced by an exceptional polynomial.[17]
If a polynomial with integer coefficients (i.e., in ℤ[x]Script error: No such module "Check for unknown parameters".) is a permutation polynomial over GF(p)Script error: No such module "Check for unknown parameters". for infinitely many primes Template:Mvar, then it is the composition of linear and Dickson polynomials.[18] (See Schur's conjecture below).
Geometric examples
Script error: No such module "Labelled list hatnote".
In finite geometry coordinate descriptions of certain point sets can provide examples of permutation polynomials of higher degree. In particular, the points forming an oval in a finite projective plane, PG(2,q)Script error: No such module "Check for unknown parameters". with qScript error: No such module "Check for unknown parameters". a power of 2, can be coordinatized in such a way that the relationship between the coordinates is given by an o-polynomial, which is a special type of permutation polynomial over the finite field GF(q)Script error: No such module "Check for unknown parameters"..
Computational complexity
The problem of testing whether a given polynomial over a finite field is a permutation polynomial can be solved in polynomial time.[19]
Permutation polynomials in several variables over finite fields
A polynomial is a permutation polynomial in Template:Mvar variables over if the equation has exactly solutions in for each .[20]
Quadratic permutation polynomials (QPP) over finite rings
For the finite ring Z/nZ one can construct quadratic permutation polynomials. Actually it is possible if and only if n is divisible by p2 for some prime number p. The construction is surprisingly simple, nevertheless it can produce permutations with certain good properties. That is why it has been used in the interleaver component of turbo codes in 3GPP Long Term Evolution mobile telecommunication standard (see 3GPP technical specification 36.212 [21] e.g. page 14 in version 8.8.0).
Simple examples
Consider for the ring Z/4Z. One sees: ; ; ; , so the polynomial defines the permutation
Consider the same polynomial for the other ring Z/8Z. One sees: ; ; ; ; ; ; ; , so the polynomial defines the permutation
Rings Z/pkZ
Consider for the ring Z/pkZ.
Lemma: for k=1 (i.e. Z/pZ) such polynomial defines a permutation only in the case a=0 and b not equal to zero. So the polynomial is not quadratic, but linear.
Lemma: for k>1, p>2 (Z/pkZ) such polynomial defines a permutation if and only if and .
Rings Z/nZ
Consider , where pt are prime numbers.
Lemma: any polynomial defines a permutation for the ring Z/nZ if and only if all the polynomials defines the permutations for all rings , where are remainders of modulo .
As a corollary one can construct plenty quadratic permutation polynomials using the following simple construction. Consider , assume that k1 >1.
Consider , such that , but ; assume that , i > 1. And assume that for all i = 1, ..., lScript error: No such module "Check for unknown parameters".. (For example, one can take and ). Then such polynomial defines a permutation.
To see this we observe that for all primes pi, i > 1, the reduction of this quadratic polynomial modulo pi is actually linear polynomial and hence is permutation by trivial reason. For the first prime number we should use the lemma discussed previously to see that it defines the permutation.
For example, consider Z/12ZScript error: No such module "Check for unknown parameters". and polynomial . It defines a permutation
Higher degree polynomials over finite rings
A polynomial g(x) for the ring Z/pkZ is a permutation polynomial if and only if it permutes the finite field Z/pZ and for all x in Z/pkZ, where g′(x) is the formal derivative of g(x).[22]
Schur's conjecture
Let K be an algebraic number field with R the ring of integers. The term "Schur's conjecture" refers to the assertion that, if a polynomial f defined over K is a permutation polynomial on R/P for infinitely many prime ideals P, then f is the composition of Dickson polynomials, degree-one polynomials, and polynomials of the form xk. In fact, Schur did not make any conjecture in this direction. The notion that he did is due to Fried,[23] who gave a flawed proof of a false version of the result. Correct proofs have been given by Turnwald[24] and Müller.[25]
Notes
<templatestyles src="Reflist/styles.css" />
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ a b c Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ a b Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ a b Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ a b Script error: No such module "Footnotes".
- ↑ Script error: No such module "Footnotes".
- ↑ Script error: No such module "Citation/CS1". For earlier research on this problem, see: Script error: No such module "Citation/CS1". Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Footnotes".
- ↑ 3GPP TS 36.212
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
Script error: No such module "Check for unknown parameters".
References
- Script error: No such module "citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "citation/CS1". Chapter 7.
- Script error: No such module "citation/CS1". Chapter 8.
- Script error: No such module "Citation/CS1".