Determination of all rational preperiodic points for morphisms of PN

For a morphism $f:\P^N \to \P^N$, the points whose forward orbit by $f$ is finite are called preperiodic points for $f$. This article presents an algorithm to effectively determine all the rational preperiodic points for $f$ defined over a given number field $K$. This algorithm is implemented in the open-source software Sage for $\Q$. Additionally, the notion of a dynatomic zero-cycle is generalized to preperiodic points. Along with examining their basic properties, these generalized dynatomic cycles are shown to be effective.

conjecture for quadratic polynomials x 2 + c for all c values with numerator and denominator up to ±10 8 .
A few other families have been studied. Manes [Man08] studied a certain family of quadratic rational maps on P 1 (Q) conjecturing maximal period 4 and at most 11 rational preperiodic points. In higher dimensions, the author [Hut09a] searched for periodic points defined over Q on Wehler's class of K3 surfaces defined on P 2 × P 2 . In [Hut10b] the author constructs families of degree 2 polynomial maps on P N which determines a lower bound on the growth factor for the largest minimal period of a Q-rational periodic point as N increases. In all these situations, the methods used were specific to the family studied and, except for [Man08,Poo98], focused solely on the periodic points. 1 The purpose of this article is to provide an algorithm for a number field K and an implementation for K = Q in Sage [SJ05] to compute Preper(f, K) and to gather numerical evidence related to the conjectures of Morton-Silverman and Poonen. Additionally, the notion of dynatomic cycles [Hut10a] is extended to preperiodic points. Their basic properties are studied and they are shown to be effective.
The article is organized as follows. Section 1 discusses the problem and the difficulties the algorithm must solve. Section 2 describes the algorithm in detail. Section 3 describes generalized dynatomic cycles. Section 4 discusses experimental results from applying the algorithm to various families of maps. Finally, Section 5 provides a few interesting isolated examples and discusses running time of the implementation and next steps.

Discussion of the problem
Given a morphism f : P N (K) → P N (K) defined over a number field K, the goal is to find all the points in P N (K) with finite forward orbit, i.e., the rational preperiodic points. The method is to use information about the cycle structure of f modulo primes to determine information about the cycle structure of f over K. This is similar to searching for rational solutions to Diophantine equations by reducing modulo primes.
When reducing a rational map modulo primes, we must take some care in choosing the primes. Let R be a discrete valuation ring, K its field of fractions, π a uniformizer, and k the residue field with characteristic p.
Definition 1. Denote x as the reduction of x mod π.
We reduce a polynomial f mod π, denoted f , by reducing each of its coefficients.
The notion of good reduction we want is that the local dynamics reflects the global dynamics (1) f n (x) = f n (x).
Proposition 1 ( [MS95]). Let f = (f 0 , . . . , f N ) : P N R → P N R . The following are equivalent: Definition 2. If f : P N → P N satisfies any condition of Proposition 1, then we say that f has good reduction modulo π. Otherwise, we say f has bad reduction modulo π.
A map with good reduction satisfies equation (1).
1 There is a recent preprint by Doyle-Faber-Krumm that presents an algorithm to compute Preper(f, K) for f (z) = z 2 + c. Their method is to compute a height bound and then enumerate the points of small height on K [DFK12].
It is clear that the minimal period of a periodic point in the residue field k (local information) must divide the minimal period over K (global information). Furthermore, there is a precise description of the relationship between the local and global minimal periods. For f : P 1 → P 1 this is a collection of results from several authors [Sil07,Theorem 2.21]. We state the special case of f : P N → P N from the general theorem [Hut09b]. Hut09b]). Let f : P N → P N be a morphism defined over K with good reduction at π. Let P ∈ P N (K) be a periodic point with minimal period n such that P has minimal period m for f . Then, there is some f stable subspace V of the cotangent space of P N such that n = m or n = mr V p e for some explicitly bounded integer e ≥ 0 and where r V is the order of df m P on V . The bound for e is given by and v(·) is the valuation. Moreover, V is the scheme theoretic closure of the finite orbit O f (P ).

Algorithm
A broad outline of the algorithm is as follows. (a) For several primes p with good reduction, find the list of possible global periods: (i) Find all the periodic cycles modulo p.
(ii) Compute m, mr V p e for each cycle. (Proposition 2). (b) Intersect the lists of possible periods for the chosen primes. (c) For each n in the intersection, find all rational solutions to f n (P ) = P .
We have now determined all the rational periodic points. (d) For each known rational preperiodic point P find all its rational preimages, i.e., rational solutions to f (Q) = P . (i) Repeat until there are no new rational preperiodic points. We now discuss details and give examples.
2.1. Rational periodic points. As a direct consequence of Proposition 1c, each map has a finite number of primes of bad reduction. In practice, the data from a small number of good primes (3-5) is typically sufficient to have the correct (or nearly correct) set of possible periods. Consequently, we assume that the primes used are small. With this assumption, the algorithm is implemented in the memory-intensive approach of building the complete table of forward images. The points of P N (k) are hashed so that the table of entries (P, f (P )) is a table of integers. The iteration data is obtained by evaluating the function at each point only once. This method is used because evaluation of the function is a very expensive operation compared to a table look-up.
Once all the local cycles have been found, we must compute the complete list of possible periods from Proposition 2: {m, mr V , mr V p, mr V p 2 , . . . , mr V p e }. An easy application of the chain rule allows us to compute the derivative of iterates with only evaluation of the function itself. ( This is important since for large periods the function f m will become unmanageable. We must also take into account the V in Proposition 2. In dimension 1, there is no issue as P 1 and V are both dimension 1, and we simply take the multiplicative order of the value of the derivative (i.e., the multiplier). However, in higher dimensions the derivative becomes the Jacobian matrix; and we need the multiplicative order of the, potentially proper, subset V of that matrix. While V may be explicitly described as the scheme theoretic closure of a finite list of points, determining the explicit subset of the derivative matrix can be time consuming. Since, in practice, the data from a small number of primes greatly reduces the list of possible periods, this issue was by-passed. We compute the multiplicative order of the eigenvalues of the Jacobian matrix and then expand the list {m, mr, mrp, . . . , mrp e } by allowing r to be the least common multiple of any combination of those values. While this expands the list of possible periods for each prime, it is still a valid list of possible periods since the correct r V must be contained in the list of least common multiples. To determine the rational periodic points, we find all rational solutions to the equations f n (P ) = P for all n in the set of possible periods. The implementation computes a p-adic approximation of local periodic points to an accuracy predetermined by a height calculation. The smallest rational point approximated by this p-adic approximation is determined by the LLL basis reduction algorithm [LJL82]. If this point has height larger than the precomputed bound, then it is not a periodic point. Otherwise, we verify that it is a periodic point. Over number fields, there are other algorithms to compute "short" bases [FS10].
To produce a height bound, we use a Nullstellensatz argument. In particular, if f is a morphism then there is some integer D such that A value of D valid for all f : P N → P N is explicitly known.
We then explicitly find the combinations and use them to compute an explicit bound on the difference between the height of a point and the canonical height of a point. Since the canonical height of a preperiodic point must be 0, this gives an upper bound on the height of a preperiodic point.
Definition 3. For a polynomial f (x 0 , . . . , x N ) = α c α x α , we define its height as the maximum height of its coefficients Proposition 3. Let f : P N → P N be a degree d morphism and P ∈ Preper(F, K). Let Then, Proof. We need the constant C such that An upper bound is obtained by simply taking the largest coefficient of f times the number of monomials of degree d, Since f = [f 0 , . . . , f N ] is a morphism, the Nullstellensatz implies there exist N +1 sets of polynomials Dividing both sides by H(P ) D−d and taking logarithms yields does not depend on P . Taking the larger of the upper and lower bounds gives us the desired C 1 such that With the C 1 in hand, we apply the limit definition of the canonical height Let a ≥ 0 be an integer. Then from (3), Taking the limit as a → ∞, we have Now that we have an upper bound on the height of a rational preperiodic point, we can determine how far we must carry the p-adic approximation. Since the implementation is for Q, we compute the constant needed for the LLL application. We are going to apply LLL to the lattice in Z N +1 generated by the p-adic approximation P (for f (P ) = P ) and p ℓ times the standard basis of Z N +1 . Let b ′ be the smallest vector in the lattice obtained from applying LLL. Let P be the projective point with coordinates b ′ . By our choice of ℓ, P is unique point of height ≤ B corresponding to P , if such a point exists.
The constant B is determined in Proposition 3, so we need to determine the required ℓ given B.
Proposition 4. Let P ∈ Z/p ℓ Z and P the point corresponding to the smallest vector from applying the LLL algorithm to the coordinates of P and p ℓ times the standard basis of Z N +1 . If then P is the unique point corresponding to P of height < B if such a point exists.
Proof. It is not hard to see that points in The LLL algorithm in Sage uses the parameters δ = 3/4 and η = 0.501. From [LJL82, Proposition 1.6] we get the bounds on the smallest resulting basis vector where d(L) is the determinant of the lattice. The determinant of the lattice does not depend on the choice of basis and can be computed as To change from the vector norm to the height, we have Returning to (4), we need The vector resulting from LLL may not actually be the smallest vector in the lattice, so we need correct for that. From [LJL82, Proposition 1.11], we have the bounds for any x in the lattice. So we need an additional factor of 2 N/2 . Therefore, we have When computing the p-adic approximation, if the Jacobian is invertible, we lift with Hensel's Lemma from p ℓ to p 2ℓ . If not, we try all possible lifts to p ℓ+1 .
Lemma 2 (Hensel's Lemma). Let K be a number field with ring of integer O K and p a prime of Then there exists a unique P 1 such that as vectors, such that f (P ) ≡ (0, . . . , 0) mod p 2ℓ .

2.2.
Rational preperiodic points. At this point, we have computed all the rational periodic points. We must now determine the rational points that are preperiodic but not periodic for f .
Since every preperiodic point is eventually periodic, we know that some forward image of every preperiodic point must be periodic. Thus, by computing all the rational preimages of the rational periodic points, we arrive at the full set of rational preperiodic points.
Given a point P , we solve the equation f (Q) = P using elimination theory. Let I be the ideal generated by f (Q) − P . Let G be a Groebner basis of I with respect to the lexicographic ordering on K[X 1 , . . . , X N ]. Then G ∩ K[X j , . . . , X N ] is a basis for I ∩ K[X j , . . . , X N ], the elimination ideals. In particular, we can find I ∩ K[x N ] and solve for the possible values of X N . Then we work backwards, one variable at a time, until we arrive at the full set of solutions.

Generalized dynatomic cycles
In this section we present an object for studying the set of preperiodic points of a given period. We first recall the notion of a dynatomic cycle for f : P N → P N .
Let K be an algebraically closed field and f : P N K → P N K be a morphism defined over K. Consider the graph of f n in the product variety P N × P N defined as Γ n = {(P, f n (P )) : P ∈ P N } and the diagonal defined as ∆ = {(P, P ) : P ∈ P N }. Their intersection is precisely the periodic points of period n, and we can determine the multiplicity as the multiplicity of the intersection. Denote the intersection multiplicity of Γ n and ∆ at a point (P, P ) ∈ P N × P N to be a P (n) and, when the intersection is proper, the algebraic zero-cycle of periodic points of period n as Φ n (f ) = P ∈P N a P (n)(P ). Define where µ is the Möbius function.
Definition 5. We call Φ * n (φ) the n th dynatomic cycle. If a * P (n) > 0, then we call P a periodic point of formal period n.
We now generalize this construction to preperiodic points.
Definition 6. A preperiodic point P of period (m, n) satisfies f n+m (P ) = f m (P ). We call m the preperiod of P . Note that a point with period (m, n) is also a point with period (m + t, kn) for any t, k ∈ N.
A point P has minimal period (m, n) if P has preperiod exactly m and f m (P ) has minimal period n.
Define the generalized (m, n)-period cycle as The points in its support have preperiod at most m and their m th iterates have period n. We are interested in the points with minimal period (m, n). Define Remark. For f : P 1 → P 1 , Φ m,n (f ) and Φ * m,n (f ) have the following representations. Let F n , G n be homogeneous polynomials such that f n = [F n , G n ]. Then, Φ m,n (f ) and Φ * n (f ) are polynomials in two variables. We obtain . Φ m,n (f ) is clearly a polynomial, and effectivity (Theorem 1c) is the statement that Φ * m,n (f ) is also a polynomial.
Definition 7. Points whose multiplicity is non-zero in Φ * m,n (f ) are called formal preperiodic points with formal period (m, n).
Definition 8. For n > m ≥ 1 we say that f is (m, n)-nondegenerate if Γ k+d and Γ k intersect properly for all d | n and 0 ≤ k ≤ m, where Γ 0 = ∆ = {(P, P ) : P ∈ P N }, the diagonal.
(a) Points P are in the support of Φ m,n (f ) if and only if P is preperiodic with preperiod at most m and f m (P ) has period n.
m,n (f ) satisfy f m (P ) has formal period n. To prove Theorem 1 we use methods similar to [Hut12]. Let R P be the local ring of the product (P, P ) in P N × P N . We first prove that we need only the naive intersection theory. Serre's definition of intersection theory is the following.
Note that for this definition to work, we must have a representation of f which is defined for all points {f k (P ) : 0 ≤ k ≤ n + m}. In [Hut12] this was done by replacing f with f n to be able to work only with fixed points. Since we are dealing with a preperiod, that method is not possible here. However, since we are working with f : P N → P N we already have a global representation for the map. Since the set {f k (P ) : 0 ≤ k ≤ n + m} is a finite set of points, we can find a hyperplane that does not intersect this set and, by conjugating, move this hyperplane to x 0 = 0. Then we can dehomogenize f to F x 1 x 0 , . . . , x N  Proposition 5. Let f : P N → P N be a morphism defined over K such that f is (m, n)-nondegenerate. Let P ∈ P N (K). Then, Tor i (R P /I Γ n+m , R P /I Γm ) = 0 for all i > 0.
Proof. We have dim P N × P N = 2N and dim Γ n+m = dim Γ m = N . The ideals I Γ n+m and I Γm are each generated by N elements and Γ n+m and Γ m intersect properly. Therefore, dim K (R P /(I Γ n+m + I Γm )) = length(R P /I Γ n+m ⊗ R P /I Γm ) < ∞.
Thus, the union of the generators of I Γ n+m and the generators of I Γm are a system of parameters for R P [Ser00, Proposition III.B.6]. Consequently, since the local ring R P is Cohen-Macaulay we can conclude that R P /I Γ n+m is Cohen-Macaulay of dimension N [Ser00, Corollary to Theorem IV.B.2]. Similarly with I Γm , we conclude that R P /I Γn is Cohen-Macaulay of dimension N .
We have fulfilled the hypotheses of Lemma 3 and can conclude the result.
Proposition 5 implies that i(Γ n+m , Γ m ; P ) = dim K (Tor 0 (R P /I Γ n+m , R P /I Γm )), which is the codimension of the ideal (I Γ n+m + I Γm ). Recall that we can compute the codimension of an ideal from its leading term ideal: . Effectivity is a local property, so we can consider each point P ∈ P N (K) separately. We dehomogenize and move P to the origin. By abuse of notation, we will still consider the power series representation of f at P as F (X) = [F 1 (X), . . . , F N (X)]. The method is to deform the algebraic zero-cycle to get a zero-cycle where all points are multiplicity 1. We consider Z m,n,P to be the algebraic zero-cycle obtained by intersecting the equations for Γ ) as analytic varieties (in R P ). We deform Z m,n,P by considering the iterates of for a parameter t ∈ A 1 K and their graphs, denoted Γ n (t). We denote the deformed family as Z m,n,P (t). Notice that we are deforming and then iterating so that Z m,n,P (t) is associated to (F (X, t)) n+m and (F (X, t)) m .
Proposition 6. Let n, m ∈ N be such that f is (m, n)-nondegenerate and let P ∈ P N (K). The family Z m,n,P (t) is flat over K[[t]].
Proof. Working locally at P , Z m,n,P = a P (m, n)(P ) with a P (m, n) = dim K R P /(I Γ n+m + I Γn ). Thus, to show flatness for Z m,n,P (t), we need to show flatness for R P [[t]]/(I Γ n+m (t) + I Γm (t)).
We apply Lemma 4 with , and x = t. We see that M/tM ∼ = R P /(I Γ n+m (t) + I Γm (t)) from our choice of deformation and K[[t]]/(t) ∼ = K. Thus, M/tM is a flat K-module since it is a finite dimensional K-vector space by the (m, n)-nondegeneracy of f . Now, we just need to show that t is not a zero divisor on M .
Assume that t is a zero divisor. Then, there exists a b ∈ M with b = 0 such that tb = 0. In particular, there exist where b i are the generators of (I Γ n+m (t) + I Γm (t)). Specializing to t = 0, we must have ]. This contradicts b ∈ (I Γ n+m (t) + I Γm (t)), so we have at least one (a i ) t=0 = 0. Hence, there is a relation among the (b i ) t=0 , which contradicts the assumption that f is (m, n)nondegenerate.
Lemma 5. If d | n, then a P (m, d) ≤ a P (m, n).
Proof. We need to see that Γ m ∩ Γ m+n ⊆ Γ m ∩ Γ m+d . We obtain f m+n from f m+d by taking Thus, Γ m+n is obtained from Γ m+d by taking algebraic combinations of elements of the ideal.
Proof of Theorem 1.
(a) Points that are both on the graph Γ n+m and Γ m must satisfy f n+m (P ) = f m (P ).
(b) We must show that multiplicities of points in Φ m,n (f ) are larger than multiplicities of points in Φ m−1,n (f ). In particular, we need to show that To go from the right-hand side to the left-hand side, we replace X i with F i (X) for 1 ≤ i ≤ N . (c) We fix (m, n) and consider each point P ∈ P N (K). If P is not periodic of period (m, n), then we have a P (k, d) = 0 for all d | n and 0 ≤ k ≤ m and, hence, a * P (m, n) = 0. So we may assume that P is periodic of period (m, n).
We consider the family of algebraic zero-cycles Z (m,n),P (t) defined above. By Proposition 6 this is a flat family and, thus, by [Laz81] we have that lim t→0 Z (m,n),P (t) = Z (m,n),P (0) = Z (m,n),P .
In particular, if {P j (t)} are the points in the support of Z (m,n),P (t) which go to P as t → 0, then if we write the algebraic zero-cycle as Z (m,n),P (t) = P j (t) a P j (t) (m, n)(P j (t)), we have that a P (m, n) = j a P j (t) (m, n) and a * P (m, n) = j a * P j (t) (m, n).
Note that each P j (t) is periodic with minimal period (k j , d j ) with d j | n and k j ≤ m. There are finitely many such P j (t); in fact by flatness, there are a P (m, n) of them counted with multiplicity. From standard results in the theory of analytic varieties in several complex variables concerning the Weierstrass Preparation theorem and multiple roots of Weierstrass polynomials [D'A93, §1.4], we know that the set of t values for which there is a solution P j (t) with multiplicity greater than one is a thin set. In particular, generically there are a P (m, n) distinct P j (t) which satisfy P j (0) = P . Finally, a P (k, d) ≤ a P (m, n) for d | n and 0 ≤ k ≤ m by (b) and Lemma 5. Thus, by avoiding a thin set of t, for each d | n and 0 ≤ k ≤ m each P j (t) occurs with multiplicity 1 in Z (k,d),P (t) if its k th iterate has minimal period dividing d and preperiod at most k and multiplicity 0 otherwise. We compute for P j (t) with minimal period (k j , d j ): The term a P j (t) (m, d) − a P j (t) (m − 1, d) is 1 if k j = m and d j | d and 0 otherwise. Then we are taking the Möbius sum of 0, 1 where it is 1 if d j | d and 0 otherwise. Thus, a * P j (t) (m, n) = 1 if P j (t) has minimal preperiod m and f m (P j (t)) has minimal period n. Otherwise, a * P j (t) (m, n) = 0. Since then a * P (m, n) ≥ 0. (d) As in (c), we perturb the system and we know from the proof of (c) that a P j (t) (m, n) ≥ 1 if and only if f m (P j (t)) has minimal period n. In particular, Thus, f m (P ) has formal period n.
For dynatomic cycles it is true that if P is multiplicity 1 in Φ * n (f ), then f is a point with minimal period n [Hut10a]. This turns out not to be true for generalized dynatomic cycles.
We now compute the number of preperiodic points of period (m, n) and the number of formal preperiodic points of period (m, n).
We need to compute the intersection number for Γ m , Γ n+m ⊂ P N × P N . Let D 1 and D 2 be the pullbacks in P N ×P N of a hyperplane class D in P N by the first and second projections, respectively. Lemma 6. [Hut10a, Proposition 4.16] For k ∈ N, the class of Γ k is given by This is the number of preperiodic points of period (m, n) counted with multiplicity.
Proof. We compute the intersection number of Γ n+m and Γ m .
Corollary 1. A morphism f : P N → P N given by N + 1 homogeneous forms of degree d has For f : P 1 → P 1 , a topic for further study is the geometry of the dynatomic modular curves resulting from the generalized dynatomic polynomials, see [Bou92,Mor96].

Uniform Boundedness
4.1. The family z d + c. Poonen studied the special case of the Morton-Silverman uniform boundedness conjecture for quadratic polynomial maps f c (z) = z 2 + c. In this section we apply our algorithm to a computational investigation of the families of maps f d,c = z d + c, which have been studied by Narkiewiscz. The following lemma shows that the denominator of c must be a d th power, generalizing an observation made in [HIng].
Lemma 7. Suppose that z d + c has a periodic point α ∈ A N (K). Then for each nonarchimedean place v of K with v(c) < 0, we have v(c) = dv(α). For each nonarchimedean place with v(c) ≥ 0, we have v(α) ≥ 0.
For the second claim, simply note that if v(c) ≥ 0 but v(α) < 0, we immediately conclude v(α d + c) = dv(α) < 0. By induction we obtain v(f n d,c (α)) = d n v(α), from which is it clear that α cannot be preperiodic under f d,c .
The previous lemma greatly reduces the search space when we apply the algorithm to all maps f d,c (z) defined over Q with H(c) < B for some height bound B. The results are summarized in the following table. 4, c = 0 In addition to the 12 structures from Poonen [Poo98] for z 2 + c, the following 2 preperiodic structures are possible. Note that the fixed point at infinity is included in the diagrams.
From this data we make the following conjectures. Note that this conjecture is no longer a special case of the Morton-Silverman conjecture as it allows the degree of map to increase. We provide a more general conjecture along these lines in Section 4.3.
For odd d, results of Narkiewicz resolve Conjecture 1 as a special case. In particular Theorem 3 (Narkiewicz [Nar12]). For n > 1 and d odd, there is no c ∈ Q such that f d,c has a Q-rational periodic point of minimal period n. Furthermore, The proof is actually quite simple. Since f d,c is nondecreasing there can only be fixed points (with no preperiod). The bound comes from counting the number of rational roots of f d,c (z) − z.
The From this data it seems reasonable to conjecture that the number of rational preperiodic points for both of these families of conservative maps is uniformly bounded independent of d.

4.3.
A more general conjecture. In addition to families of maps already discussed, the author examined a few other families, such as families of maps of the form z d + cz e , d > e ≥ 1 for fixed e. In all cases, there seemed to be a similar phenomenon of uniform boundedness independent of d. On this somewhat limited evidence, consider the following conjecture. There are many further questions associated with this conjecture, such as whether C depends only on deg g and not g itself.

Isolated Examples, Running Time, and Next Steps
We now give a few interesting isolated examples of the full Q-rational preperiodic structure for maps on P N . For P 1 , most examples are drawn from [BDJ + 09, Man08,Poo98]. For P N , examples are drawn from [Hut10b] or created from lower dimension examples. The goal was to find a few interesting examples with either long cycles, many connected components, or simply many rational preperiodic points. For N > 1, it is virtually certain that these examples can be bettered in all three aspects.
The columns of the chart are • The coordinates of the morphism f : P N → P N .
• The list of Q-rational cycle lengths.
• The number of Q-rational preperiodic points in each connected component, listed in the same order as the cycle lengths. • The total number of Q-rational preperiodic points. takes only 10 seconds to find all 175 rational preperiodic points using the primes {2, 3, 5, 7}.
The slowest step in most examples is determining the cycle structure modulo the primes of good reduction. For example, the P 4 example above takes 630 of the total 680 seconds to reduce the list of possible periods to {1, 3, 72} using primes {13, 17, 19, 23}.
The second limiting factor is the lifting step. If all the eigenvalues of the multiplier matrix are not one, the Hensel lifting from p ℓ to p 2ℓ is very efficient. However, if even one of the eigenvalues of the multiplier matrix is 1, then the algorithm tries all possible lifts from p ℓ to p ℓ+1 . This happens only for a closed subset of all maps; but for those maps, the running time is significantly worse. For example, the map f (x) = 2x 2 + x 9x 2 + 2x + 1 has the fixed point 0 with multiplier 1. Determining the possible periods for primes p ≤ 19 takes less than 1 second, but it takes 21 seconds to determine the preperiodic points. 5.2. Next steps. There are several small improvements that could be made to the implementation, but the main improvement would be to implement the determination of the cycle structure modulo primes in a lower level language such as C.
While all the results in this article either are valid over number fields or there exist appropriate generalizations for number fields, the author plans to approach the number field problem from a different direction. In a subsequent article, the author will examine the feasibility of reducing the number field case to a problem over Q through either symmetrization or Weil restriction.