computability julia sets
DESCRIPTION
Computability Julia sets. Mark Braverman Microsoft Research January 6, 2009. Julia Sets. Focus on the quadratic family. Let c be a complex parameter. Consider the following discrete-time dynamical system on the complex plane: z ↦ z 2 + c - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/1.jpg)
1
Computability Julia sets
Mark Braverman
Microsoft Research
January 6, 2009
![Page 2: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/2.jpg)
2
Julia Sets
• Focus on the quadratic family.
• Let c be a complex parameter.
• Consider the following discrete-time dynamical system on the complex plane:
z ↦z2 + c
• The simplest non-trivial polynomial dynamical system on the complex plane.
![Page 3: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/3.jpg)
3
The Julia set• The filled Julia set Kc is the set of initial z’s
for which the orbit does not escape to ∞.
• The Julia set Jc is the boundary of Kc:
Jc =∂Kc.
• Jc is also the set of points around which the dynamics is unstable.
![Page 4: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/4.jpg)
4
Example: c = -0.12 + 0.665 i
z ↦ z2 + c
![Page 5: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/5.jpg)
5
Iterating z z↦ 2 - 0.12 + 0.665 i
z ↦ z2 + c
![Page 6: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/6.jpg)
6
Iterating z z↦ 2 - 0.12 + 0.665 i
z ↦ z2 + c
![Page 7: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/7.jpg)
7
Iterating z z↦ 2 - 0.12 + 0.665 i
z ↦ z2 + c
![Page 8: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/8.jpg)
8
Iterating z z↦ 2 - 0.12 + 0.665 i
z ↦ z2 + c
![Page 9: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/9.jpg)
9
Iterating z z↦ 2 - 0.12 + 0.665 i
z ↦ z2 + c
![Page 10: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/10.jpg)
10
Iterating z z↦ 2 - 0.12 + 0.665 i
z ↦ z2 + c
![Page 11: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/11.jpg)
11
The Julia set• The filled Julia set Kc is the set of initial z’s
for which the orbit does not escape to ∞.
• The Julia set Jc is the boundary of Kc:
Jc = ∂Kc.
• Jc is also the set of points around which the dynamics is unstable.
![Page 12: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/12.jpg)
12
Example: c ≈ - 0.391 - 0.587 i
![Page 13: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/13.jpg)
13
Iterating z z↦ 2 - 0.391 - 0.587 i
z ↦ z2 + c
![Page 14: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/14.jpg)
14
Iterating z z↦ 2 - 0.391 - 0.587 i
“rotation” by an angle θ
z ↦ z2 + c
![Page 15: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/15.jpg)
15
Computing Kc and Jc
• Given the parameter c as an input, compute Kc and Jc.
• The parameter c describes the rule of the dynamics – “its world”.
![Page 16: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/16.jpg)
16
Computability model
• We use the “bit-computability” notion, which accounts for the cost of the operations on a Turing Machine.
• Dates back to [Turing36], [BanachMazur37].
TM
c = −0.46768… + 0.56598…i
Jc
![Page 17: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/17.jpg)
17
Input – giving c to TM
• The input c is given by an oracle φ(m).– On query m the oracle outputs a rational
approximation of c within an error of 2-m.
• TM is allowed to query c with any finite precision.
TM
c = −0.46768… + 0.56598…i
![Page 18: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/18.jpg)
Input – giving c to TM
• The input c is given by an oracle φ(m).– On query m the oracle outputs a rational
approximation of c within an error of 2-m.
• TM is allowed to query c with any finite precision.
TM
c = −0.46768… + 0.56598…i φ(m)m=2
φ(2) = −0.4+0.5 i
![Page 19: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/19.jpg)
Input – giving c to TM
• The input c is given by an oracle φ(m).– On query m the oracle outputs a rational
approximation of c within an error of 2-m.
• TM is allowed to query c with any finite precision.
TM
c = −0.46768… + 0.56598…i φ(m)m=10
φ(10) = −0.468+0.566 i
![Page 20: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/20.jpg)
Input – giving c to TM
• The input c is given by an oracle φ(m).– On query m the oracle outputs a rational
approximation of c within an error of 2-m.
• TM is allowed to query c with any finite precision.
TM
c = −0.46768… + 0.56598…i φ(m)m=7
φ(7) = −0.466+0.567 i
![Page 21: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/21.jpg)
21
Output
• Given a precision parameter n, TM needs to output a 2-n-approximation of Jc, which is a “picture” of the set.
TM
φ(m)
Jc
![Page 22: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/22.jpg)
22
Output
• A 2-n-approximation of Jc, is made of pixels of size ≈2-n.
• For each pixel, need to decide whether to paint it white or black.Jc
![Page 23: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/23.jpg)
23
Jc
Coloring a Pixel• We use round pixels –
equivalent up to a constant.• A pixel is a circle of radius 2-n
with a rational center.
No???
Yes
otherwise
J)2B(q,2 if
J)B(q,2 if
1or 0
,0
,1
n)f(q, n-
n-
c
c
• Put it in if it intersects Jc.
• If twice the pixel does not intersect Jc, leave it out.
• Otherwise, don’t care.
![Page 24: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/24.jpg)
SummaryType Empirical and prior
workNew
Hyperbolic empirically easy; some shown in poly-time
poly-time computable
Parabolic empirically computable (exp-time)
poly-time computable
Siegel empirically computable in many cases
some are computable some are not
Cremer no useful pictures to date computable
Filled Julia set Kc
thought to be tightly linked to Jc
always computable
?
![Page 25: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/25.jpg)
25
Theorem [BY07]: There is an algorithm A that computes a number c such that no machine with access to c can compute Jc. In fact, computing Jc is as hard as solving the Halting Problem.
• Under a reasonable conjecture from Complex Dynamics, c can be made poly-time computable.
TMc
Jc
A
?
![Page 26: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/26.jpg)
26
Proving the non-computability theorem
• Consider the family z ↦ z2 + e2πiθ z.
• When is there a Siegel disc?
• Theorem [Brjuno’65]: When the function
converges.
ii
n nn
1,;
1log)( 11
1121
![Page 27: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/27.jpg)
27
Geometric Meaning of Φ(θ) • r(θ) is a measure on the size of the Siegel disc.
• r(θ) can be computed from Jc and vice versa.
• Theorem [Yoccoz’88], [Buff,Cheritat’03]: The function Φ(θ) + log r(θ) is continuous.
• In particular, when Φ(θ)=∞, r(θ)=0.
• Theorem [BY’07]: There is an explicit poly-time algorithm that generates a θ such that Φ(θ) is as hard to compute as the Halting Problem.
![Page 28: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/28.jpg)
c such that Jc has a Siegel disc
Jc
?A
the rotation angle 2πθ of the Siegel disc
r(θ) – the “size” of the Siegel Disc
1121
1log)(
n nn
Continuous: heavy machinery [Yoccoz’88], [Buff,Cheritat’03].
Algebraic
Geometric
![Page 29: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/29.jpg)
SummaryType Empirical and prior
workNew
Hyperbolic empirically easy; some shown in poly-time
poly-time computable
Parabolic empirically computable (exp-time)
poly-time computable
Siegel empirically computable in many cases
some are computable some are not
Cremer no useful pictures to date computable
Filled Julia set Kc
thought to be tightly linked to Jc
always computable
?
![Page 30: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/30.jpg)
30
The map of parameters c
disconnected; poly-time
connected; poly-time
poly-time
Non-computable
![Page 31: Computability Julia sets](https://reader036.vdocuments.us/reader036/viewer/2022070406/5681403d550346895dabad4c/html5/thumbnails/31.jpg)
Thank You
Computability of Julia Sets, M. Braverman and M. Yampolsky. Springer, 2008.