Computability of the Julia set. Nonrecurrent critical orbits

We prove that the Julia set of a rational function $f$ is computable in polynomial time, assuming that the postcritical set of $f$ does not contain any critical points or parabolic periodic orbits.


Introduction.
A compact subset of the complex plane is called computable if it can be visualized on a computer screen with an arbitrarily high precision. Computergenerated images of mathematical objects play an important role in establishing new results. Among such images, Julia sets of rational functions occupy one of the most prominent position. Recently, it was shown that for a wide class of rational functions their Julia sets can be computed efficiently (see [6], [7], [21]) and yet some of those sets are uncomputable, and so cannot be visualized (see [8], [5]). Also, there are examples of computable Julia sets whose computational complexity is arbitrarily high (see [3]).
One of the natural open questions of computational complexity of Julia sets is how large is the class of rational functions (in a sense of Lebesgue measure on the parameter space) whose Julia set can be computed in a polynomial time. Informally speaking, such Julia sets are easy to simulate numerically. Conjecture. The class of rational functions of degree d 2 whose Julia set can be computed in a polynomial time has a full measure in the space of parameters.
The main result of the paper is the following. Main Theorem. Let f be a rational function of degree d 2. Assume that for each critical point c ∈ J f the ω-limit set ω(c) does not contain either recurrent critical point or a parabolic periodic point of f . Then the Julia set J f is computable in a polynomial time.
As the reader will see below, this result can be viewed as a natural step towards a proof of the conjecture. The paper is organized as follows. In Section 1 we give all necessary preliminaries in Computability and Complex Dynamics, state the results of the paper and discuss possible generalizations. To illustrate the results of the paper on a simple case in section 2 we prove that for every subhyperbolic rational function the Julia set is computable in a polynomial time. In Section 3 we prove the main result of the paper under a simplifying assumption that the rational map f does not have any parabolic periodic points. In section 4 we complete a proof of the main result.
Acknowledgements. It is my great pleasure to thank my supervisor Michael Yampolsky for posing the question of the paper and numerous fruitful discussions.

Preliminaries on computability
In this section we give a brief introduction to computability and complexity of functions and sets. The notion of computability relies on the concept of a Turing Machine (TM). A precise definition of a Turing Machine is quite technical and we do not give it here. For the definition and properties of a Turing Machine we refer the reader to [19] and [24]. The computational power of a Turing Machine is equivalent to that of a RAM computer with infinite memory. One can generally think about a Turing Machine as a formalized definition of an algorithm or a computer program.
There exist several different definitions of computability of sets. For discussion of different approaches to computability we refer the reader to [9]. In this article we use the notion of computability related to complexity of drawing pictures on a computer screen. Roughly speaking, a subset S is called computable in time t(n) if there is a computer program which takes time t(n) to decide whether to draw a given 2 −n × 2 −n square pixel in a picture of S on a computer screen, which is accurate up to one pixel size. Before giving a rigorous definition of a computable Julia set we need to introduce some notations.
First we give the classical definitions of a computable function and a computable number. Note that Definition 1 can be naturally extended to functions on arbitrary countable sets, using a convenient identification with N.
Definition 2. A real number α is called computable if there is a computable function φ : N → Q, such that for all n |α − φ(n)| < 2 −n .
The set of computable reals is denoted by R C .
In other words, α is called computable if there is an algorithm which can approximate α with any given precision. The set R C is countable, since there are only countably many algorithms. The set of computable complex numbers is defined by C C = R C + iR C . Note that both R C and C C considered with usual multiplication and addition form fields. Moreover, it is easy to see that C C is algebraically closed.
Let d(·, ·) stand for Euclidian distance between points or sets in R 2 . Recall the definition of the Hausdorff distance between two sets: We call a set T a 2 −n approximation of a bounded set S if S ⊂ T and d H (S, T ) 2 −n . When we try to draw a 2 −n approximation T of a set S using a computer program, it is convenient to let T be a finite collection of disks of radius 2 −n−2 centered at points of the form (i/2 n+2 , j/2 n+2 ) for i, j ∈ Z. Such T can be described using a function where n ∈ N and z = (i/2 n+2 , j/2 n+2 ), i, j ∈ Z.
Using this function, we define computability and computational complexity of a set in R 2 in the following way.
there is a TM, which computes values of a function h(n, •) of the form (1) in time t(n). We say that S is poly-time computable if there exists a polynomial p(n), such that S is computable in time p(n).
Similarly, one can define computability and computational complexity of subsets of R k . Moreover, definition 3 naturally extends to subsets ofĈ (see [9] Section 2.1). The Riemann sphereĈ is homeomorphic to the unit sphere

Consider the stereographic projection
The inverse of this projection is given by Observe that P −1 induces the spherical metric onĈ, given by the formula Proposition 5. Let K ⊂ C be a bounded subset. Then K is computable as a subset ofĈ if and only if it is computable as a subset of R 2 . Similarly, K is poly-time computable as a subset ofĈ if and only if it is poly-time computable as a subset of R 2 .
In this paper we discuss computability of the Julia sets of rational functions. For simplicity, consider the case of quadratic polynomials f c (z) = z 2 + c. By computing the Julia set J c of the map f c , c ∈ C, we mean the following problem: given the parameter c compute a function h of the form (1) for S = J c .
However, an algorithm M, computing h, can handle only a finite amount of information. In particular, it can not read or store the entire input c if c / ∈ J f . Instead, it may request this input with an arbitrary high precision. In other words, the machine M has a command READ(m) which for any integer m requests the real and the imaginary part of a number φ(m), such that |φ(m) − c| < 2 −m . It can be formalized using the notion of an oracle. Let D = k 2 l : k ∈ Z, l ∈ N be the set of all dyadic numbers. Denote j n} the n-th Cartesian power of D. We will say that the open disk U d (c) (respectively closed disk U d (c)) is dyadic if d and c are dyadic. Denote C the set of all subsets U ⊂ C such that U can be represented as a finite union of dyadic disks.
Definition 6. A function φ : N → D n is called an oracle for an element where · stands for the Euclidian norm in R n . An oracle Turing Machine M φ is a TM, which can query φ(m) for any m ∈ N.
The oracle φ is not a part of the algorithm, but rather enters as a parameter. In case of a computer program the role of the oracle is usually played by the user, who enters the parameters of the program. We should note also that an algorithm using an oracle φ require m time units to read φ(m). Now we are ready to define computability and computational complexity of the Julia set of a rational map.
Definition 7. Let f be a rational map. The Julia set J f is called computable in time t(n) if there is a Turing Machine with an oracle for the coefficients of f , which computes values of a function h(n, •) of the form (1) for S = J f in time t(n). We say that J f is poly-time computable if there exists a polynomial p(n), such that J f is computable in time p(n).

Hyperbolic maps
A rational map f is called hyperbolic if there is a Riemannian metric µ on a neighborhood of the Julia set J f in which f is strictly expanding: for any z ∈ J f and any tangent vector v (see [18]). It follows that for a hyperbolic map f there is a neighborhood U of J f on which the metric d µ induced by µ is strictly expanding: Let d S be the spherical metric on the Riemann sphere. Then d µ and d S are equivalent on a compact neighborhood of J f . One can deduce that there exists N ∈ N, K > 1 and a neighborhood V of J f , such that Kd S (x, y), for any x, y ∈ V.
Moreover, the last property is equivalent to the definition of hyperbolicity. Hyperbolic maps have the following topological characterization (see [18]).

Proposition 8.
A rational map f is hyperbolic if and only if every critical orbit of f either converges to an attracting (or a super-attracting) cycle, or is periodic.
Braverman in [6] and Rettinger in [21] have independently proven the following result. To explain why this is an important result we would like to mention the following. It is known that hyperbolicity is an open condition in the space of coefficients of rational maps of degree d 2. The famous conjecture of Fatou conjecture states that the set of hyperbolic parameters is dense in this space. This conjecture is known as the Density of Hyperbolicity Conjecture. It is the central open question in Complex Dynamics. Lyubich [16] and Graczyk-Swiatek [14] independently showed that this conjecture is true for the real quadratic family. Namely, the set of real parameters c, for which the map f (z) = z 2 + c is hyperbolic, is dense in R.

Subhyperbolic maps
A rational map f is called subhyperbolic if it is expanding on a neighborhood of the Julia set J f in some orbifold metric (see [18]). An orbifold metric is a conformal metric γ(z)dz with a finite number of singularities of the following form. For each singularity a there exists an integer index ν = ν a > 1, such that for the branched covering z(w) = a + w ν the induced metric γ(z(w)) dz dw dw in w-plane is smooth and nonsingular in a neighborhood of the origin. Douady and Hubbard proved the following (see [18]) Proposition 10. A rational map is subhyperbolic, if and only if every critical orbit of f is either finite or converges to an attracting (or a super-attracting) cycle.
For a subhyperbolic map, the corresponding orbifold has singularities only at postcritical points, which lie in J f . In presence of these singularities the algorithm, which works in the case of hyperbolic maps, can not be applied directly for subhyperbolic maps. We show in this paper how to change this algorithm to compute the Julia set of a subhyperbolic map in a polynomial time. One of the results of this paper is the following theorem.
Theorem 11. There is a TM M φ with an oracle for the coefficients of a rational map f , such that for every subhyperbolic map f the machine M φ computes J f in polynomial time, given some finite non-uniform information about the orbits of critical points of f .
We will specify later, which non-uniform information does M φ use.
Our main result is devoted to the class of rational maps without recurrent critical points. Namely, we prove here the following: Theorem 12. Let f be a rational map. Assume that f has no parabolic periodic points and Ω f does not contain any critical points. Then J f is polytime computable by a TM with an oracle for the coefficients of f .
Although in this case there is no guarantee that any kind of expansion holds on the whole Julia set of f , the following well-known theorem of Mañé (see [17], [23]) implies that there is expansion on the closure of the postcritical set of f . As we see, the theorem of Mañé gives expansion only near the points, whose forward orbits are isolated from the parabolic periodic points. The question arises: is it possible to generalize Theorem 12 for the maps f with parabolic periodic points? It is known that the algorithms, used for computing hyperbolic Julia sets, require exponential time in the presence of parabolic points (see [18], app. H). However, in the paper [7] (see also [9]) Braverman proved that for any rational function f , such that every critical orbit of f converges either to an attracting or to a parabolic orbit, the Julia set is poly-time computable. Combining the algorithm used in [7] with the algorithm, which we use in the present paper to prove Theorem 12, we obtain the following generalization of Theorem 12: Theorem 14. Let f be a rational map. Assume that Ω f does not contain neither critical points nor parabolic periodic points. Then J f is poly-time computable by a TM with an oracle for the coefficients of f .

Possible generalizations.
In this subsection we discuss possible generalizations of the results of this paper. First we would like to mention that the algorithm which we use to prove Theorem 14 cannot be applied to compute the Julia set of a rational map f , such that Ω f contains a parabolic periodic point. However, we believe that the following statement is true.
Conjecture 15. Let f be a rational map. Assume that Ω f does not contain any critical points. Then J f is poly-time computable by a TM with an oracle for the coefficients of f .
Another important class of rational maps is the class of Collet-Eckmann maps.
Definition 16. Let f be a rational map. Assume that there exist constants C, γ > 0 such that the following holds: for any critical point c of f whose forward orbit does not contain any critical points one has: |Df n (f (c))| Ce γn for any n ∈ N. (2) Then we say that the map f is Collet-Eckmann (CE). The condition (2) is called the Collet-Eckmann condition.
In [2] Avila and Moreira showed that for almost every real parameter c the map f c (z) = z 2 + c is either Collet-Eckmann or hyperbolic. In [1] Aspenberg proved that the set of Collet-Eckmann maps has positive Lebesgue measure in the parameter space of all rational maps of fixed degree d 2. Moreover, there is a conjecture that for almost all rational maps f in this space the following is true: 1) the forward orbit of every critical point c / ∈ J f either is finite or converges to an attracting periodic orbit; 2) for any critical point c ∈ J f either there exists γ, C > 0 such that |Df n (f (c))| Ce γn for any n ∈ N or the forward orbit of c contains another critical point.
By the theorem of Mañé 13, every rational map f such that Ω f does not contain neither critical points nor parabolic periodic points is Collet-Eckmann. We believe that the following generalization of Theorem 14 is true.
Conjecture 17. Let f be a rational map such that the conditions 1) and 2) above are satisfied. Then J f is poly-time computable by a TM with an oracle for the coefficients of f .
Thus, we conjecture that 2 Poly-time computability for subhyperbolic maps.
In this section we prove Theorem 11. Namely, we construct an algorithm A which for every subhyperbolic rational map f computes J f in polynomial time. The algorithm A uses the coefficients of the map f and some nonuniform information which we will specify in the following subsection.

Preparatory steps and non-uniform information.
In this paper we actively use the classical Koebe distortion theorem (see [10]). Let us state it here. For δ > 0, z ∈ C denote Theorem 19. Let f : U r (a) → C be a univalent function. Then for any z ∈ U r (a) one has: The statement (4) of the Koebe distortion theorem can be reformulated the following way. Let 1 > α > 0, We will also use Koebe One-Quarter Theorem, which can be derived from Koebe Distortion Theorem.
Theorem 20. Suppose f : U r (z) → C is a univalent function. Then the image f (U r (z)) contains the disk of radius 1 4 r|f ′ (z)| centered at f (z). Fatou and Julia proved the following fundamental result.
Theorem 21. Let f be a rational map of degree d 2. Then the immediate basin of each attracting cycle contains at least one critical point. In particular, the number of attracting periodic orbits is finite and do not exceed the number of critical points.
In our proof of Theorem 11 we will use the following general fact (see e.g. see [25]).

Proposition 22.
Let h(z) be a complex polynomial. There exists a TM M φ with an oracle for the coefficients of h(z) and a natural number n as an input, such that M φ outputs a finite sequence of complex dyadic numbers β 1 , β 2 , . . . , β k for which: 1) each β i lies at a distance not more than 2 −n from some root of h(z); 2) each root of h(z) lies at a distance not more than 2 −n from one of β i .
Denote N F (f ) and N J (f ) the number of critical points of f which lie in the Fatou set and the Julia set of f correspondingly. The algorithm computing the Julia set of a subhyperbolic map will use the numbers as the non-uniform information. Observe that the assertions N F (f ) = 0 and J f =Ĉ are equivalent. Indeed, by Proposition 10 if N F (f ) > 0 then there is at least one attracting (or superattracting) periodic point and the Fatou set is nonempty. On the other hand if the Fatou set is nonempty, then there is at least one attracting (or superattracting) periodic point. The basin of this periodic point contains a critical point. Thus if N F (f ) = 0, then the problem of computing J f is trivial. Therefore, we will assume that N F (f ) = 0 and J f =Ĉ.
Also, without loss of generality we may assume that ∞ / ∈ J f . Indeed if ∞ ∈ J f , then using Proposition 22 we can find a dyadic point z 0 which lie in the Fatou set of f . Let h :Ĉ →Ĉ be a Möbius map such that h(∞) = z 0 .
As a corollary of Proposition 22 one can obtain the following result (see [9], Proposition 3.3).
Proposition 23. Let f be a subhyperbolic rational map. There exists a Turing Machine M φ with an oracle for the coefficients of f such that the following is true. Given the number N F (f ) of critical points c / ∈ J f M φ outputs a dyadic set B such that 1) all the attracting and super attracting orbits of f belong to B, 2) for any z ∈ B the orbit of z converges to an attracting periodic orbit, Proof. The algorithm works as follows. Initially, let B be an empty collection of dyadic disks. At m-th step, m ∈ N, do the following. By Proposition 22 there is an algorithm which finds all periodic points of f of period at most m with precision 2 −m−3 . Let p i be approximate position of a periodic point of period k i . The corresponding periodic point z i belongs to the disk

Verify if
This would imply that In this case, compute dyadic sets B j , such that B 0 = U 2 −m (W i ) and for each then we stop the algorithm and output B. Otherwise, go to step m + 1. Let us show that the algorithm eventually stops and outputs a set B, satisfying the conditions 1) − 3) of Proposition 23. Let z be an attracting (or super-attracting) periodic point of period k with multiplier λ. Let |λ| < r < 1. Then for small enough ε > 0 one has It follows that for some m > k the corresponding approximation p i of z and the set W i satisfy the property (7). On the other hand if (8) holds, then by Schwartz Lemma U 2 −m/2 (p i ) contains an attracting periodic point, whose basin contains U 2 −m/2 (p i ). Therefore if the algorithm runs sufficient amount of steps, the union B of dyadic sets from B satisfies the condition 1) of the Proposition 23.
By Proposition 10, the orbit of each critical point of f which does not lie in J f converges to an attracting periodic orbit. Thus, for some m there will be N F (f ) of the points s i , belonging to B. This implies, then the algorithm stops. By Theorem 21, we obtain that B contains all attracting periodic orbits of f . Notice that conditions 2) and 3) of the Proposition 23 for this set B are satisfied by construction.
Denote CF f the set of critical points of f which lie in the Fatou set of f . Put The next statement is a subhyperbolic analog of Proposition 3.7 from [9].
Proposition 24. There exists an algorithm which, given the coefficients of a subhyperbolic rational map f of degree d 2 and the number N F (f ), outputs a planar domain U ∈ C such that: Proof. First use the algorithm from Proposition (23) to find a dyadic set B satisfying to the conditions 1) − 3) of Proposition 23. Let m ∈ N. We can algorithmically construct a dyadic set W such that Compute a dyadic number d > 0 such that Also, compute dyadic approximations s i of critical points c i of f such that By Theorem 10, for any critical point c i ∈ CF f we will eventually have: Therefore, for large enough m, the set W will contain N F (f ) of the points s i . Take such m. Then for any s i ∈ W one has Thus, Clearly, for the set U = C \ W conditions (1) − (3) hold.

Construction of the subhyperbolic metric.
Here we give the construction of a subhyperbolic metric (see [18]). We modify the construction from [18] to be able to write it as an algorithm. First we recall the definition and basic properties of an orbifold. We refer the reader to [18] for details.
Definition 25. An orbifold (S, ν) is a Riemann surface together with a function ν : S → N such that the set {z ∈ S : ν(z) = 1} is discrete. Points z for which ν(z) = 1 are called branch points.
Definition 26. Let f be a subhyperbolic rational map. An orbifold metric µ on a neighborhood U of J f is called subhyperbolic if f is strictly expanding on U with respect to µ: for any z ∈ f −1 (U) except the branch points.
Let p : S ′ → S be a regular branched covering. Then for every z ∈ S the local degree of p at a point w ∈ p −1 (z) does not depend on w. One can define the weight function ν : S → N of the covering p assigning ν(z) the local degree of p at w ∈ f −1 (z).
Definition 27. Let (S, ν) be an orbifold. A regular branched covering p : S ′ → S with the weight function ν such that S ′ is simply connected is called a universal covering of the orbifold (S, ν). We will use the notation S ν → (S, ν) for a universal covering of this orbifold. exists and unique up to conformal isomorphism, except in the following two cases: 1) S ≈ C (the Riemann sphere) and S has only one branch point; 2) S ≈ C and S has two branch points a 1 , a 2 such that ν(a 1 ) = ν(a 2 ).
The Euler characteristic of an orbifold (S, ν) is the number .
Since the set of branch points of S is discrete the last sum contains at most countable number of nonzero terms. If S contains infinitely many branch points then we set χ(S, ν) = −∞. The orbifold (S, ν) is called hyperbolic if χ(S, ν) < 0.
Lemma 29. If (S, ν) is a hyperbolic orbifold then S ν conformally isomorphic to the unit disk.
Let f be a subhyperbolic rational map. Let U be the set from Proposition 24. Construct an orbifold (U, ν) in the following way. Put S = U. Denote CJ f the set of the critical points of f which lie in J f . As the set of branch points of U take BP = {f j (c), c ∈ CJ f , j ∈ N}. Since f is subhyperbolic, BP is finite. Put ν(z) = 1 for all z ∈ U \ BP . Denote n(f, z) the local degree for any z ∈ U ν(f (z)) is a multiple of ν(z)n(f, z).
If the orbifold (U, ν) that we obtained is not hyperbolic, take any repelling orbit {z j } of f of the length at least 5 and replace ν(z j ) with 2ν(z j ) for all z j from this orbit. The new orbifold will be hyperbolic and satisfying the condition (9). By Proposition 28 there exists a universal covering U ν π → (U, ν).
By Lemma 29, without loss of generality we may assume that U ν = U is the open unit disc. Since V = f −1 (U) ⊂ U, Condition (9) guarantee that the map f −1 lifts to a holomorphic map Note that W = F (U) = π −1 (V ) is strictly contained in U. Denote ρ U the Poincaré metric on U. By the Schwartz-Pick Theorem, the map F is strictly decreasing in the metric ρ U . Let µ be the projection of ρ U onto U. For any w ∈ U and z = π(F (w)) one has: It follows that the map f is strictly expanding with respect to the norm induced by µ. To show that the metric µ is subhyperbolic we need to prove that µ is uniformly strictly expanding. First we will prove an auxiliary lemma.
Lemma 30. There exist a constant C > 0 such that for any z ∈ U except the branch points of the orbifold (U, ν) one has: where a j are the branch points. The constant C can be obtained constructively.
Proof. Let z ∈ U. Assume that z is not a branch point. To estimate µ(z) without loss of generality we may assume that z = π(0). Recall that the Poincaré metric on the unit disk is of the form: Therefore one has: We can construct a dyadic number R such that U is contained in a disk of radius R. By Schwartz Lemma, Recall that the set BP of branch points consists of critical points which lie in J f and possibly one repelling periodic orbit. It follows from Proposition 22 that we can construct a dyadic number ε > 0 such that disks U 2ε (a j ) are pairwise disjoint and all belong to U. Assume first that z / ∈ U ε (a j ). Considering the branch φ : U ε (z) → U, of π −1 such that φ(z) = 0, by Schwartz Lemma we obtain Let z ∈ U ε (a j ) for some j. Then in a neighborhood V (0) of 0 the map π can be written in the form π(w) = g(w) m + a j , where g(w) is a one to one map from V (0) onto U δ (0) with δ = (2ε) 1/m . In V (0) one has Consider the map χ = g −1 : U δ (0) → V (0). Since by Schwartz Lemma we get: where constant K > 0 can be obtained constructively. Now (11) implies which finishes the proof.
Proposition 31. There exists a constant λ > 1 such that The constant λ can be constructed algorithmically.
Proof. For a map g : U 1 → U 2 between two hyperbolic Riemann surfaces denote Dg(z) U 1 ,U 2 the magnitude of the derivative of g computed with respect to the two Poincaré metrics. Denote dist µ the distance in the metric µ on U and dist U the distance in the Poincaré metric on U. Let i : W → U be the inclusion map. Then we have: Using Lemma 30 it is not hard to show that we can construct a dyadic constant R > 0 such that Let z ∈ V . Then there exists w ∈ W and ζ ∈ U \ W such that π(ω) = z and dist U (ω, ζ) < R.
A suitable fractional linear transformation sends ζ to 0 and ω to x > 0. Explicit calculations show that Now, by Schwartz-Pick Theorem The right hand side of the last inequality can be estimated explicitly. It is equal to a(x) = 2|x log x| 1 − x 2 < 1. Note that a(x) increases with x. By (12) and (13) the value Di(w) W,U is bounded from above with a(X) < 1 for X = (e R − 1)/(e R + 1). By (10) we obtain that Df (z) µ for z ∈ V is bounded from below with 1/a(X).
Lemma 30 and Proposition 31 together make a subhyperbolic analog of Proposition 3.6 from [9].

The algorithm.
Denote for any k ∈ N. Let us prove the following auxiliary statement.
Proposition 33. There is an algorithm computing two dyadic constants Proof. First construct a dyadic number R such that Then for any z, k, satisfying to the conditions of the proposition, the open disk U R (f k (z)) does not intersect neither J f nor a forward orbit of a critical point of f . Let φ : U R (f k (z)) → C be the branch of (f k ) −1 such that φ(f k (z)) = z. Then by Koebe Quarter Theorem the image φ(U R (f k (z))) contains the disk or radius 1 4 Notice that P J f is finite. precision. Thus, we can approximate P J f . We can also algorithmically construct positions of some points in J f which lie apart from P J f with any given precision. For instance, using the algorithm from Proposition 22 we can calculate approximate position of a repelling periodic orbit. Using the above we can construct a finite number of pairs of simply connected dyadic sets W k ⋐ U k such that the following is true For each j fix the Riemann mapping ψ j : U j → D = {z : |z| < 1}. Assume now that z, k satisfy the conditions of the proposition. Then f k (z) ⊂ W j for some j. Let φ : U j → U(z) be the branch of (f k ) −1 such that φ(f k (z)) = z. Consider the map φ • ψ −1 j : D → U(z).
Notice that ψ j (W j ) ⋐ D. Applying both parts of Theorem 19 to the map φ • ψ −1 j , we can construct a dyadic number r j > 0 not depending either on z or on k such that φ(W j ) is contained in the disk of radius r j |Dφ(f k (z))| centered at z. It follows that Set K 2 = max{r j }.
As a preparatory step construct a dyadic set W 2 such that Compute dyadic numbers s, ε > 0 such that Let m = max{ν(a j )}. Lemma 30 implies that for any z ∈ V Let log stand for the logarithm with base 2. We will use the standard notation [x] for the integer part of a real number x. Assume that we would like to verify that a dyadic point z is 2 −n−1 close to J f . Consider first points z which lie outside V 3 . Construct a dyadic set Then we can approximate the distance from a point z / ∈ W 3 to J f by the distance form z to W 3 up to a constant factor. Now assume z ∈ V 3 . Consider the following subprogram: i := 1 while i [log(mC 2 s 1/m )/ log λ + (n + 1)/ log λ] + 1 do (1) Compute dyadic approximations with precision min{2 −n−1 , ε}.
(2) Check the inclusion p i ∈ W 2 : • if p i ∈ W 2 , go to step (5); • if p i / ∈ W 2 , proceed to step (3); (3) Check the inequality d i K 2 2 n+1 + 1. If true, output 0 and exit the subprogram, otherwise (4) output 1 and exit subprogram. Proposition 34. Let f (n, z) be the output of the subprogram. Then where K = K 1 K 2 +1 , Proof. Suppose first that the subprogram runs the while-cycle L times and exits at the step (6). This means that p i ∈ W 2 for i = 1, . . . , L. In particular, p L ∈ W 2 . It follows that f L (z) ∈ V 1 . By (35) and (16) we obtain: Thus if d(z, J f ) > 2 −n−1 , then the subprogram exits at a step other than (6). Now assume that for some i L the subprogram falls into the step (3). Then p i−1 ∈ W 2 and p i / ∈ W 2 .
Otherwise, |Df i (z)| K 2 2 n+1 + 2 (K 2 + 1)2 n+1 . In this case Proposition 33 implies Now, to distinguish the case when d(z, J f ) < 2 −n−1 from the case when d(z, J f ) > 2 −n we can partition each pixel of size 2 −n × 2 −n into pixels of size (2 −n /K) × (2 −n /K) and run the subprogram for the center of each subpixel. This would increase the running time at most by a constant factor.
3 Maps without recurrent critical orbits and parabolic periodic points.
In this section we will prove Theorem 12. Throughout this section let f stand for a rational map without parabolic periodic points such that Ω f does not intersect the set of critical points of f .

Preparatory steps and nonuniform information.
As in the case of subhyperbolic map, without loss of generality we will assume that ∞ / ∈ J f . For any c ∈ CJ f put N 0 (c) = max{n : f n (c) ∈ CJ f } + 1.
By our assumptions, there are no either recurrent critical orbits or parabolic periodic points of f , the set M is invariant and does not contain critical points of f . Thus, the set M satisfies the conditions of Mañé's Theorem (13). The following result is classical (see [18]).
Theorem 35. Let g be a rational map. Then the boundary of each cycle of Siegel disks and each cycle of Herman rings belongs to P J g (see (14)).
Lemma 36. There are no either Siegel disk cycles or Herman ring cycles in the Fatou set of f .
Proof. Assume for simplicity that there is a Siegel disk ∆. By replacing f with an iterate if necessary, we can assume that f (∆) = ∆. Then the boundary ∂∆ of the Siegel disk is forward invariant under f and belongs to P J f . It follows that ∂∆ does not contain any critical point of f . Thus, ∂∆ satisfies the condition of Mañé's Theorem (13). Therefore, there exists N such that f N is expanding on a neighborhood of ∂∆. This is impossible since f is conjugated to a rotation inside ∆. The other case can be treated similarly.
To compute the Julia set the algorithm will use the following non-uniform information: N1. N F (f ), N J (f ) and degrees m 1 , . . . , m N j (f ) of the critical points of f which lie in J f ; N2. N 0 , N ∈ N, dyadic numbers δ, δ ′ > 0, q > 1 and a dyadic set U ⋑ M such that and for any z ∈ U δ (U) one has |Df N (z)| > q.
In this section we will prove the following theorem.
Theorem 37. Let f be a rational map such that f has no parabolic periodic points and Ω f does not contain any critical points. There exists a Turing Machine which, given an oracle for the coefficients of the map f and the non-uniform information (N1, N2), computes J f in a polynomial time.

Now we prove several auxiliary lemmas.
Lemma 38. For any z ∈ U and any z 1 , z 2 ∈ U δ (z) one has Notice that, in particular, the restriction of f N on U δ (z) is one to one for any z ∈ U.
Proof. Using Lagrange formula For simplicity set F = f N . Lemma 38 implies that Lemma 39. For any z ∈ U and k min{j ∈ N : F j (z) / ∈ U}, k ∈ N, one has Proof. Let z, k satisfy the conditions of Lemma 39. Put By Lemma 38, F is univalent on U j for each j = 0, 1, . . . , k − 1 and It follows that there exists V ⊂ U 0 , such that Then r δ 2 . By Koebe Distortion Theorem (see (5)), one has: Since J f is invariant under f , it follows that Since Dh(z k ) = 1 DF k (z) , (22) is equivalent to the first part of (20). Similarly, one can prove the second part of (20). Observe that we can not prove a lower bound for d(F k (z), M) in this way since M is not necessarily invariant under F −1 .
Till the end of this section in each of the preceding statements we assume that the Turing Machine has an access to the non-uniform information (N1, N2) and an oracle for the coefficients of the map f .
for any z ∈ U γ (c). Let ω be any m-th root of a m . Then there exists a unique holomorphic map ψ from U γ (c) to a neighborhood of the origin, such that Make γ smaller if necessary in order to have |ψ ′ (z)| |ω|/2 for any z ∈ U γ (c).
The image f (U γ (c)) contains a disk U α (f (c)), where α > 0 can be algorithmically constructed. Let 0 < ε 1 < γ, such that Then ζ 0 ∈ U α (f (c)). There exists z 0 ∈ J f ∩ U γ (c), such that f (z 0 ) = ζ 0 . One has Let 0 j 0 m − 1 be the number for which e 2πij 0 /m ψ(z 0 ) takes the closest value to ψ(z). From simple geometric observations it follows that Using the definition of the dyadic set U and Proposition 22 one can prove the following statement.
Lemma 41. There exists a TM which computes a dyadic number ε 2 > 0 such that Proposition 42. There exists a TM which computes dyadic number 0 < γ < min{ε 1 , ε 2 } such that the following is true. For any z ∈ U γ C and where F = f N . Using Lemma 39, we obtain: Let c ∈ C. Put h = f N 0 . Let m c be the degree of h at c ∈ C. Then we can algorithmically construct a dyadic number L c > 0, such that |h(z) − h(c)| L c |z − c| mc for any z ∈ U γ (c). Then Lemma 40 implies that we can algorithmically construct dyadic numbers α c > 0, K c > 0 such that for any z ∈ U αc (c). Combining (25) with (26), we get for any z ∈ U min{αc,γ} (c) \ J f .
, α c for any c ∈ C. Recall that in (24) F stands for f N and w stands for for any z ∈ U γ C . Combining (24) and (33), taking into account that U ⊃ U δ ′ (M), we obtain the statement of Lemma 42.
A direct analog of the Proposition 24 holds for the maps f , which satisfy the conditions of Theorem 12.
Proposition 43. Let f be a rational map such that f does not have any parabolic periodic points and Ω f does not contain any critical points of f . There exists a TM which given an oracle for the coefficients of the map f and the non-uniform information outputs a planar domain V ∈ C such that: If CJ f = ∅ then f is hyperbolic. Since for hyperbolic maps poly-time computability of the Julia set is well known (see [6] and [21]), we will assume that CJ f = ∅. Then f (Θ) is strictly smaller than Θ. It follows that f (W ) is strictly larger than W . Let · W stands for the hyperbolic norm associated with W . Then Df (z) W > 1 for every z ∈ W.
Let d W be the metric on W induced by · W . It follows that Notice that One can construct a dyadic subset V 1 , such that Lemma 44. One can algorithmically construct dyadic numbers r ∈ (0, 1], t > 1, R > 0, ǫ > 0, such that Notice that the Euclidian metric d and the hyperbolic metric d W are equivalent on any compact subset of W . The following lemma can be proven similarly to Lemma 30.
Lemma 45. One can algorithmically construct a dyadic constant C > 0 such that for any z ∈ W 1 \ U γ C ∪ U .
Lemma 46. There exists a TM which computes dyadic numbers S, K > 0 such that for any k ∈ N and z ∈ C one has d f k (z), J f Sd(z, J f ) K .
Proof. Since f does not have parabolic periodic orbits one has Therefore there exist S < 1, K 0 > 1 such that for any z / ∈ V 1 and k ∈ N Make S smaller if necessary in order to have Let l be the minimal such number. Then It follows from Lemma 40 that one can compute dyadic numbers 1 η > 0, m 1 such that for any z ∈ U γ C and j = 1, 2, . . . , N 0 + N − 1. Put l 0 = 0. Denote inductively l i and z i = f l i (z 0 ) as follows: if z i ∈ U and l i + N l, l i + N 0 + kN, if z i ∈ U γ C and l i + N 0 + kN l, l, otherwise. (32) Now by (29), Lemma 44 and Proposition 42 the following is true: 3) if z i ∈ U and l i + N l, then The items 1) − 5) are direct corollaries of the choice of the dyadic constants, formula (29), Lemma 44 and Proposition 42. Let us proof 6). Let z i ∈ U γ C and l i + N 0 + kN > l.
If l i + N 0 > l, then 6) follows directly from (31). Otherwise denote n the remainder of l − l i − N 0 modulo N. Then by (31) and (19) Let s be the number of i-th, for which If s = 0 then let I 1 be the minimal and I 2 be the maximal such i. case 1: s = 0. Then one of the following two possibilities holds. a) z 0 ∈ U γ C . Then l = l 1 . By 6), Then by 3) and 4), case 2: s = 0. There are two possibilities. a) l I 1 = l. Then I 1 = I 2 . As in the case 1, b) l I 1 < l. Then, by 3) and 5), d(z I 1 , J f ) d(z 0 , J f ). By (30), Among the numbers I 2 + 1, I 2 + 2, . . . , l there is at most one number j such that z j ∈ U γ C and at most one number j such that z j ∈ U, but l j + N > l.
It follows that where D = r m+N ηC −2m . Thus, in both case 1 and case 2 It follows that Lemma 46 holds for S = D and K = max{K 0 , m}.
Theorem 47. There exists a TM which computes the coefficients of a polynomial p(n) such that for any z with d(z, J f ) > 2 −n one has Proof. Let z 0 ∈ V 1 and d(z 0 , J f ) > 2 −n . Let l be the maximal number, such that f j (z 0 ) ∈ V 1 for j = 0, 1, . . . , l.
Construct l i , z i as in Lemma 46. Then properties 1) − 6) hold. Let s, I be as in Lemma 46 and i 1 , . . . i s be the sequence of indexes for which Then, by Lemma 45 and properties 1) and 2) from Lemma 46, It follows that s n log t 2 + 2 log t C + log t R.
Let i be an index such that z i ∈ U γ C and l i + N 0 l. Let It follows from Lemma 46 that Therefore, k i K 2 n for some number K 2 > 0 which can be obtained algorithmically. Now it is easy to see that among any N 0 + K 2 Nn consecutive integer numbers between 0 and l there exist i such that It follows that l (n log t 2 + 2 log t C + log t R)(N 0 + K 2 Nn).
, this finishes the proof.

The algorithm.
Similarly to Proposition 33 one can prove the following result.
Proposition 48. There is an algorithm computing two dyadic constants K 1 , K 2 > 0 such that for any z ∈ V and any k Now we are ready to describe the algorithm. The steps of the algorithm are analogous to the steps of the corresponding algorithm for a subhyperbolic map. Compute dyadic numbers s, ε > 0 such that Assume that we would like to verify that a dyadic point z is 2 −n−1 close to J f . Construct a dyadic set U 2 such that Then we can approximate the distance from a point z / ∈ U 2 to J f by the distance form z to U 2 up to a constant factor. Now assume that z ∈ U 2 . Let p(n) be the polynomial from Proposition 47. Similarly to the case of a subhyperbolic map, consider the following subprogram: i := 1 while i p(n + 1) do (1) Compute dyadic approximations with precision min{2 −n−1 , ε}.
The subprogram runs for at most p(n + 1) number of while-cycles each of which consist of a constant number of arithmetic operations with precision O(n) dyadic bits. The following proposition is proved in the same way as Proposition 34.
Proposition 49. Let f (n, z) be the output of the subprogram. Then 4 Maps with parabolic periodic points.
In this section we will sketch the proof of Theorem 14. Let f be a rational map such that Ω f does not contain either critical points or parabolic periodic points. We will assume that the periods and multipliers of the parabolic periodic points are given as a part of the non-uniform information. Replacing f with some iteration of f if necessary, we may assume that the multiplier and the period of each of the parabolic periodic points is equal to 1. Then at each parabolic periodic point (in fact, a fixed point) p the map f can be written in the form where n p ∈ N. We will assume that the numbers n p are also given as a part of the non-uniform information. Observe that some parabolic fixed points of f may belong to the postcritical set of f . In this section we denote by CJ f the set of critical points c ∈ CJ f such that the forward orbit O(z) does not contain any parabolic periodic points and by CJ P f the set of critical points c ∈ J f such that an iteration of c hits a parabolic fixed point. Let N 0 (c), N 0 , M, C be the same as in section 3. For numbers α, β > 0, a direction ν ∈ [0, 2π] and a point w ∈ C introduce a sector Let p 1 , . . . , p s be all parabolic fixed points of f . The algorithm will use the same non-uniform information (N1, N2) which was described in subsection 3.1 and, in addition, N3. approximate positions a j of p j with a dyadic precision α > 0 and a number β > 0 such that for each j: 1) p j is a unique fixed point of f in U 2α (a j ) (and thus p j can be approximated efficiently using Newton method); 2) for each critical point c which lie in J f one has 3) for each attracting direction ν ∈ [0, 2π] at p j the sector Figure 6: Illustration to non-uniform information N3.
belongs to an attracting Fatou petal at p j , belongs to the union of the repelling petals at p j . Observe that for a point z in the sector V ν j the distance d(z, J f ) up to a constant factor can be approximated by |z − p j |. We will use the following result from [7] (see Lemma 8).
Lemma 50. Let g(z) = z + c n+1 z n+1 + c n+2 z n+2 + . . . be given as a power series with radius of convergence R > 0. There is an algorithm which given a point z with |z| < 1/m < R computes l = [m n /C]-th iteration of z and the derivative Dg l (z) with precision 2 −s in time polynomial in s and log m.
Here C is some dyadic constant which can be algorithmically constructed. The algorithm uses an oracle for the coefficients c n .
Lemma 50 implies that we can compute "long" iterations of points close to parabolic periodic points efficiently.
By the assumptions on the map f one can algorithmically construct a dyadic number ε > 0 such that the following is true. Let a point z be εclose to the Julia set. Assume that some iteration f k (z) belong to U ε (p j ).
Consider the neighborhood V = U ε (f k (z)). Let be the pullbacks of V under f along the orbit of z, where U(z) is a neighborhood of z. Then the number of n for which V n contains a critical point c ∈ J f is bounded from above by a constant independent from k and z. In a similar fashion as Proposition 33 using ideas of Lemma 40 we can prove the following statement.
Proposition 51. We can algorithmically construct dyadic numbers K 1 , K 2 , ε > 0 such that for each z ∈ U ε (J f ) if k satisfies the following f n (z) ∈ U ε (J f ) for n = 1, . . . , k, and f k (z) ∈ U ε (p j ) for some parabolic fixed point p j then From the description of the dynamics near a parabolic point using Koebe Theorem 19 we can obtain the following result.
Proposition 52. One can algorithmically construct numbers K 3 , L > 0 such that for each z ∈ U ε (p j ) \ (∪V ν j ) and each n ∈ N if f i (z) ∈ U ε (p j ) for all i = 0, 1, . . . , l = 2 [Ln] then one has |f l (z) − p j | 2 n |z − p j | and Now we briefly explain how to adopt the algorithm from Paragraph 3.2 to prove Theorem 14. Assume that we want to verify if a point z is 2 −n -close to J f . Construct a sequence z i = f l i (z) in a way analogues to the construction from Lemma 46 (see (32)). We will define l i+1 in a different way from (32) only if z i ∈ U ε (p j ) for some parabolic fixed point p j . In this case we do the following. 1) If z i ∈ V ν j for some attracting direction ν then we stop. We can find the distance from z i to J f up to a constant factor. Using Proposition 51 we can estimate the distance from z to J f up to a constant factor. 2) If z i ∈ U ε (p j ) \ (∪V ν j )) then consider the points f kr (z i ), where k r = 2 [Lr] . Observe that by Lemma 50 we can find a 2 −n approximation of f kr (z i ) in time polynomial in r and n. Let r be the minimal nonnegative integer number such that |f kr (z i ) − p j | ε.
Observe that a direct analog of Theorem 47 is not true in a presence of parabolic periodic points, even if we assume that z does not belong to an attracting basin of a parabolic periodic point. For a point 2 −n close to a parabolic fixed point in a repelling petal it takes exponential time in n to escape an ε-neighborhood of the parabolic fixed point. However, using Lemma 50 and Proposition 52 we can prove the following.
Proposition 53. There is an algorithm computing coefficients of a polynomial p(n) such that if d(z, J f ) > 2 −n and z i / ∈ ∪V ν j for each i = 0, 1, . . . , p(n), then d(z p(n) , J f ) > ε. Moreover, we can compute 2 −n−2 -approximations of z i = f l i (z) and Df l i (z) for i = 0, . . . , p(n) in time polynomial in n.
Now we briefly describe the algorithm computing the Julia set J f in a polynomial time in n. Let z ∈ U ε (J f ). Assume that we want to verify that z is 2 −n close to J f . Without loss of generality we may assume that 2 1−n < ε.
Compute approximate values a i of z i and d i of Df l i (z i ) with precision 2 −n−2 , i = 1, . . . , p(n). 1) If z i ∈ ∪V ν j for some i such that d(z j , J f ) ε/2 for j = 1, . . . , i then we can find approximate distance from z i to J f . By Proposition 51, we can find d(z, J f ) up to some constant.
2) If d(z i , J f ) ε/2 for some i, then we can find the distance d(z i , J f ) up to a constant factor. Using Koebe Theorem (19) we can find the distance from z to J f up to a constant factor.
In conclusion, let us mention an alternative numerical method to calculate iterations of points close to parabolic periodic orbits. This method has been implemented in recent literature. To illustrate the method we consider a map with a simple parabolic point at the origin: Let j(z) = −1/z and F (z) be the germ at infinity given by Denote by T the unit shift: T (z) = z + 1. In [12] and [13] Ecalle has shown the following Theorem 54. The equation Ψ•F (z) = T •Ψ(z) has a unique formal solution in terms of the series (generally, divergent) The series Ψ gives an asymptotic expansion for an attracting and a repelling Fatou coordinates of the map F , Ψ a and Ψ r correspondingly.
For survey on divergent series and asymptotic expansions we refer the reader to [20]. Theorem 54 means that the Fatou coordinates Ψ a and Ψ r near infinity can be approximated by finite sums of the series (38). To approximate n-th iteration of the map f near the origin one can use the following formula: where Ψ stands for either Ψ a or Ψ r depending on whether z belongs to an attracting or a repelling Fatou petal of f . We would like to emphasize that this is not a rigorous method since we do not know how many terms of the series (38) to take to obtain the desired precision. However, empirically, the asymptotic expansion (38) approximates the Fatou coordinates Ψ a (z), Ψ b (z) with a very high precision. For instance, in [15] Lanford and Yampolsky used the series (38) in their computational scheme for the fixed point of the parabolic renormalization operator. Our work in progress [11] give us a reason to hope that the described method can be made rigorous.