Sage Basic Dynamics Functionality Computational Problems Other topics

Sage for Dynamical Systems Benjamin Hutz Department of Mathematics and Computer Science Saint Louis University

December 5, 2015 RTG Workshop: Arithmetic Dynamics

This work is supported by NSF grant DMS-1415294

Benjamin Hutz

Sage for Dynamical Systems

1 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

What is Sage? SageMath is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined power through a common, Python-based language or directly via interfaces or wrappers. Mission Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab. http://www.sagemath.org/ Benjamin Hutz

Sage for Dynamical Systems

Sage

2 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

How can you use Sage

Online https://cloud.sagemath.com Locally Download from http://www.sagemath.org/ Prebuilt binaries Install from source code

Benjamin Hutz

Sage for Dynamical Systems

Sage

3 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Dynamical Systems and Sage Sage-dynamics project 1

Started at ICERM in 2012

2

Sage-days 55 in 2013

3

NSF grant DMS-1415294, 2014-2017 (PI: Hutz)

4

Future Sage-days ?2017/2018?

Resources Project Page: http://wiki.sagemath.org/ dynamics/ArithmeticAndComplex Google group: sage-dynamics

Benjamin Hutz

Sage for Dynamical Systems

Sage

4 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Functionality

1

Projective space, affine space, and subschemes (varieties)

2

Points and functions

3

Iteration

4

Heights and canonical heights

5

Periodic points, dynatomic polynomials

6

Critical points

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

5 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Iteration 1 2 3 4 5 6 7 8 9 10 11 12

sage: A. = AffineSpace(QQ,1) sage: H = End(A) sage: f = H([xˆ2-1]) sage: P=A(2) sage: f(P), f(f(P)), f(f(f(P))), f.nth_iterate(P,4) ((3), (8), (63), (3968)) sage: f.orbit(P,[0,3]) [(2), (3), (8), (63)] sage: f.nth_iterate_map(2) Scheme endomorphism of Affine Space of dimension 1 over Rational Field Defn: Defined on coordinates by sending (x) to (xˆ4 - 2*xˆ2)

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

6 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Varieties sage: A. = AffineSpace(QQ,2) sage: X = A.subscheme([x-1, yˆ2-4]); sage: X.dimension() 0 sage: X.rational_points() [(1, -2), (1, 2)] sage: X.defining_ideal() 8 Ideal (x - 1, yˆ2 - 4) of Multivariate Polynomial Ring in x, y over Rational Field 9 sage: X.coordinate_ring() 10 Quotient of Multivariate Polynomial Ring in x, y over Rational Field by the ideal (x - 1, yˆ2 4) 1 2 3 4 5 6 7

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

7 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Height definitions Given a point P = (P0 : · · · : PN ) The (absolute) global height is defined as h(P) =

1 log(max(|Pi |)) [K : Q]

The local height (Green’s function) at a place v is defined as λv (P) = log(max(|Pi |v )) The canonical height with respect to a morphism f is defined as h(f n (P)) ˆ h(P) = lim . n→∞ deg(f )n Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

8 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Heights

1 2 3 4 5 6 7 8 9 10

sage: P. = ProjectiveSpace(QQ,1) sage: H = End(P) sage: f = H([4*xˆ2-3*yˆ2,4*yˆ2]) sage: Q = P(3,5) sage: Q.green_function(f,2, prec=100, N=20) -0.69314585848661813056646800473 sage: Q.global_height() 1.60943791243410 sage: Q.canonical_height(f,error_bound=0.001) 2.3030927691516823627114122790

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

9 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Local Heights

sage: K. = QuadraticField(3) sage: P. = ProjectiveSpace(K,1) sage: H = Hom(P,P) sage: f = H([17*xˆ2+1/7*yˆ2,17*w*x*y]) sage: f.green_function(P([2,1]), K.ideal(7), N=7) 6 0.48647753726382832627633818586 7 sage: f.green_function(P([w,1]), K.ideal(17), error_bound=0.001) 8 -0.70691993106090157426711999977 1 2 3 4 5

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

10 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Definitions: Dynatomic Polynomial Let f ∈ K [z] be a single variable polynomial. Definition The n-th dynatomic polynomial for f is defined as Y Φ∗n (f ) = (f d (z) − z)µ(n/d) . d|n

Definition We can also define a generalized dynatomic polynomial for preperiodic points as Φ∗m,n (f ) =

Φ∗n (f m ) . Φ∗n (f m−1 )

More general definitions can be made using intersection theory. Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

11 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Dynatomic Polynomial 1 2 3 4 5 6

7 8 9 10

sage: R. = FunctionField(QQ) sage: P. = ProjectiveSpace(R,1) sage: H = End(P) sage: f = H([xˆ2+c*yˆ2,yˆ2]) sage: f.dynatomic_polynomial(3) xˆ6 + xˆ5*y + (3*c + 1)*xˆ4*yˆ2 + (2*c + 1)*xˆ3*yˆ3 + (3*cˆ2 + 3*c + 1)*xˆ2*yˆ4 + (cˆ2 + 2*c + 1)* x*yˆ5 + (cˆ3 + 2*cˆ2 + c + 1)*yˆ6 sage: f.dynatomic_polynomial(3).subs({x:0,y:1}) cˆ3 + 2*cˆ2 + c + 1 sage: f.nth_iterate(P(0),3) (cˆ4 + 2*cˆ3 + cˆ2 + c : 1)

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

12 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Number Fields

1 2 3 4 5 6 7 8 9 10

sage: A. = AffineSpace(QQ,1) sage: H = End(A) sage: f = H([zˆ2+1]) sage: R = A.coordinate_ring() sage: K. = NumberField(f.dynatomic_polynomial(2) .polynomial(R.gen(0))) sage: A. = AffineSpace(K,1) sage: H = End(A) sage: f = H([zˆ2+1]) sage: f.orbit(A(w),3) [(w), (-w - 1), (w), (-w - 1)]

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

13 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: All Periodic Points

sage: P. = ProjectiveSpace(QQbar,1) sage: H = End(P) sage: f = H([xˆ2+yˆ2,yˆ2]) sage: f.periodic_points(2) 5 [(-0.500000000000000? - 1.322875655532296?*I : 1), 6 (-0.500000000000000? + 1.322875655532296?*I : 1)] 1 2 3 4

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

14 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Critical Points

sage: P. = ProjectiveSpace(QQbar,1) sage: H = End(P) sage: f = H([xˆ2+yˆ2,yˆ2]) sage: f.critical_points() 5 [(0 : 1), (1 : 0)] 6 sage: f.critical_height(error_bound=0.001) 7 0.20367726136974000143661899538 1 2 3 4

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

15 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Basic Examples: Finite Fields

sage: P. = ProjectiveSpace(GF(13),1) sage: H = End(P) sage: f = H([xˆ2+yˆ2,yˆ2]) sage: f.cyclegraph() 5 Looped digraph on 14 vertices 6 sage: P([2,1]).orbit_structure(f) 7 [0, 4] 1 2 3 4

Benjamin Hutz

Sage for Dynamical Systems

Basic Dynamics Functionality

16 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

1

Rational preperiodic points 1

2 2

2

Determine if a morphism f : P1 → P1 is post-critically finite Construct a pcf map with specified portrait

Automorphism groups 1

4

Determine all of the rational preperiodic points for a morphism f : PN → PN . Determine if a given point is preperiodic for f .

Post-critically finite maps 1

3

Rational preperiodic points Post-critically finite maps Automorphism Groups

Construct a family of maps each of whose automorphism group contains the given finite group.

Other topics 1 2

Benjamin Hutz

Products of projective spaces and Wehler K3 surfaces Iteration of subvarieties

Sage for Dynamical Systems

Computational Problems

17 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Definitions Theorem (Northcott) The set of rational preperiodic points for a morphism f : PN → PN is a set of bounded height. Conjecture (Morton-Silverman) Given a morphism f : PN → PN of degree d, defined over a number field of degree D, then there exists a constant C(d, D, N) such that # PrePer(f ) ≤ C(d, D, N).

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

18 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

A precise description of n Theorem (Morton-Silverman 1994, Zieve) Let f : P1 → P1 defined over Q with deg(f ) ≥ 2. Assume that f has good reduction at p with a rational periodic point P. Define n = minimal period of P. m = minimal period of P modulo p. r = the multiplicative order of (f m )0 (P) mod p Then n=m

or

n = mrpe

for some explicitly bounded integer e ≥ 0.

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

19 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Algorithm for finding all rational preperiodic points [Hut15] 1

For each prime p in PrimeSet with good reduction find the list of possible global periods: 1 2

2

3

Intersect the lists of possible periods for all primes in PrimeSet. For each n in PossiblePeriods 1

4 5

Find all of the periodic cycles modulo p Compute m, mrpe for each cycle.

Find all rational solutions to f n (x) = x.

Let PrePeriodicPoints = PeriodicPoints. Repeat until PrePeriodicPoints is constant 1

Add the first rational preimage of each point in PrePeriodicPoints to PrePeriodicPoints.

Use Weil restriction of scalars for number fields (polynomials in dimension 1). Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

20 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Examples sage: P. = ProjectiveSpace(QQ,1) sage: H = End(P) sage: f = H([xˆ2-29/16*yˆ2,yˆ2]) 4 sage: f.rational_preperiodic_graph() 5 Looped digraph on 9 vertices 1 2 3

1 2 3 4 5 6 7

sage: R. = PolynomialRing(QQ) sage: K. = NumberField(tˆ3 + 16*tˆ2 - 10496*t + 94208) sage: PS. = ProjectiveSpace(K,1) sage: H = End(PS) sage: f = H([xˆ2-29/16*yˆ2,yˆ2]) #Hutz sage: len(f.rational_preperiodic_points()) #6s 21

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

21 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Examples

3 4 5 6

sage: sage: sage: sage: sage: 13

K. = QuadraticField(33) PS. = ProjectiveSpace(K,1) H = End(PS) f = H([xˆ2-71/48*yˆ2,yˆ2]) #Stoll len(f.rational_preperiodic_points()) #1s

1 2 3 4 5

sage: sage: sage: sage: 44

P. = ProjectiveSpace(QQ,2) H = End(P) f = H([xˆ2 - 21/16*zˆ2,yˆ2-2*zˆ2,zˆ2]) len(f.rational_preperiodic_points()) #1.5s

1 2

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

22 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Is a point preperiodic? Let f : PN → PN be a morphism of degree d. Theorem ˆ A point P is preperiodic for f if and only if h(P) = 0. Theorem There exists a constant C independent of a point P such that ˆ h(P) − h(P) ≤ C(f ). Theorem For all points P ˆ (P)) = d h(P). ˆ h(f Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

23 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Algorithm: is preperiodic()

1 2

ˆ If h(P) > C, then not preperiodic. Compute forward images 1 2

Benjamin Hutz

If we encounter a cycle, return preperiodic If the height becomes > C, return not preperiodic.

Sage for Dynamical Systems

Computational Problems

24 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Example sage: sage: sage: 4 sage: 5 sage: 6 (1,3)

P. = ProjectiveSpace(QQ,2) H = End(P) f = H([xˆ2-29/16*zˆ2,yˆ2 - 21/16*zˆ2,zˆ2]) Q = P(1,-3,4) Q.is_preperiodic(f,return_period=True)

sage: sage: sage: sage: sage: sage: False

K. = QuadraticField(-2) P. = ProjectiveSpace(K,2) H = End(P) f = H([xˆ2-29/16*zˆ2,yˆ2 - 21/16*zˆ2,zˆ2]) Q = P(w,-3,4) Q.is_preperiodic(f)

1 2 3

1 2 3 4 5 6 7

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

25 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Definitions Definition We say that P is a critical point for f if the jacobian of f does not have maximal rank at P. Definition We say that f is post-critically finite if all of the critical points are preperiodic. Definition The critical height of f is defined as X ˆ h(c). c∈crit Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

26 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Algorithm: is postcritically finite()

1

Compute the critical points of f over Q

2

Determine if each is preperiodic.

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

27 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Example

1 2 3 4 5 6 7 8 9

sage: P. = ProjectiveSpace(QQ,1) sage: H = End(P) sage: f = H([xˆ2 + 12*yˆ2, 7*x*y]) sage: f.critical_points(R=QQbar) [(-3.464101615137755? : 1), (3.464101615137755? : 1 )] sage: f.is_postcritically_finite() False sage: f.critical_height(error_bound=0.001) 2.8717614996729500069637701410

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

28 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

` maps Example: Lattes

1 2 3 4 5 6 7 8 9 10

sage: P. = ProjectiveSpace(QQ,1) sage: E = EllipticCurve([0,0,0,0,2]);E Elliptic Curve defined by yˆ2 = xˆ3 + 2 over Rational Field sage: f = P.Lattes_map(E,2) sage: f.is_postcritically_finite() True sage: f.critical_point_portrait() Looped digraph on 10 vertices sage: f.critical_height(error_bound=0.001) 8.2900752025070323779826707582e-17

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

29 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Misiurewicz Point sage: sage: sage: 4 sage: 5 sage: 6 cˆ2+1 1 2 3

1 2 3 4 5 6 7

sage: sage: sage: sage: sage: sage: [(0),

Benjamin Hutz

R. = PolynomialRing(QQ) A. = AffineSpace(R,1) H = End(A) f = H([zˆ2+c]) f.dynatomic_polynomial([2,2]).subs({z:0})

R. = QQ[] K. = NumberField(xˆ2+1) A. = AffineSpace(K,1) H = End(A) f = H([zˆ2+i]) f.orbit(A(0),4) (i), (i - 1), (-i), (i - 1)] Sage for Dynamical Systems

Computational Problems

30 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Gleason Polynomial

1 2 3 4 5 6 7 8 9 10

sage: R. = PolynomialRing(QQ) sage: A. = AffineSpace(R,1) sage: H = End(A) sage: f = H([zˆ2+c]) sage: K. = NumberField(f.dynatomic_polynomial(3) .subs({z:0})) sage: A. = AffineSpace(K,1) sage: H = End(A) sage: f = H([zˆ2+w]) sage: f.orbit(A(0),3) [(0), (w), (wˆ2 + w), (0)]

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

31 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

2-parameters [HT15]: generate ideal

sage: R. = PolynomialRing(QQ,2, order='lex') sage: P. = ProjectiveSpace(R,1) sage: H = End(P) sage: f = H([xˆ3 -3*aˆ2*x*yˆ2 +(2*aˆ3+v)*yˆ3,yˆ3]) sage: dyn1 = f.dynatomic_polynomial(2) 6 sage: dyn2 = f.dynatomic_polynomial(1) 7 sage: I = R.ideal([dyn1.subs({x:a,y:1}), dyn2.subs( {x:-a,y:1})]) 1 2 3 4 5

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

32 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

2-parameters: get solutions

1 2 3 4 5 6 7 8 9

sage: sage: sage: sage: sage: sage: sage: sage: sage:

Benjamin Hutz

G = I.groebner_basis() S. = QQ[] phi = R.hom([0,z],S) p = phi(G[-1]).factor() K. = NumberField(p[0][0]) S. = K[] phi2 = R.hom([z,V],S) q = phi2(G[-2]).factor() L. = K.extension(q[0][0])

Sage for Dynamical Systems

Computational Problems

33 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

2-parameters: check orbits

sage: P.=ProjectiveSpace(L,1) sage: H=End(P) sage: f=H([xˆ3 -3*Aˆ2*x*yˆ2 +(2*Aˆ3+V)*yˆ3,yˆ3]) sage: f.orbit(P(A),2) [(2/3*Vˆ5 + Vˆ3 + 5/6*V : 1), (V : 1), (2/3*Vˆ5 + V ˆ3 + 5/6*V : 1)] 6 sage: f.orbit(P(-A),2) 7 [(-2/3*Vˆ5 - Vˆ3 - 5/6*V : 1), 8 (-2/3*Vˆ5 - Vˆ3 - 5/6*V : 1)] 1 2 3 4 5

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

34 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Definitions

Definition Let f : PN → PN . Then an element α ∈ PGLN+1 acts on f via conjugation f α = α ◦ f ◦ α−1 Definition The automorphism group of f is the group Aut(f ) = {α ∈ PGLN+1 : f α = f }.

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

35 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Determining Automorphism Groups [FMV14]

sage: R. = ProjectiveSpace(QQ,1) sage: H = End(R) sage: f = H([xˆ2-2*x*y-2*yˆ2,-2*xˆ2-2*x*y+yˆ2]) sage: f.automorphism_group(return_functions=True) [x, 2/(2*x), -x - 1, -2*x/(2*x + 2), (-x - 1)/x, -1 /(x + 1)] 6 sage: f.conjugate(matrix([[-1,-1],[0,1]])) == f 7 True 1 2 3 4 5

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

36 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Constructing Automorphisms [dFH15a] Definition Given a finite matrix group G, we say that a polynomial p is an invariant of G if p◦g =p

for all g ∈ G.

Theorem (Klein) If F is an invariant for a finite group G, then f = (−Fy : Fx ) : P1 → P1 has G ⊂ Aut(f ). Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

37 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Tetrahedral family: Invariants 1 2 3 4 5 6 7 8 9 10 11

sage: R. = QQ[] sage: K. = CyclotomicField(4) sage: m1 = matrix(K,2,[(-1+i)/2,(-1+i)/2, (1+i)/2,( -1-i)/2]) sage: m2 = matrix(K,2, [0,i, -i,0]) sage: tetra = MatrixGroup(m1,m2) sage: [p8,p12a,p12b] = tetra.invariant_generators() sage: S = p8.parent() sage: x1,x2 = S.gens() sage: F7 = [-p8.derivative(x2),p8.derivative(x1)] sage: F11 = [-p12a.derivative(x2),p12a.derivative( x1)] sage: F5 = [-p12b.derivative(x2),p12b.derivative(x1 )]

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

38 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Tetrahedral family: Morphisms

1 2 3 4 5 6 7 8 9 10

sage: P. = ProjectiveSpace(K,1) sage: H = End(P) sage: R = P.coordinate_ring() sage: phi = S.hom([x,y],R) sage: f7 = H([phi(t) for t in F7]) sage: f11 = H([phi(t) for t in F11]) sage: f5 = H([phi(t) for t in F5]) sage: f5.normalize_coordinates() sage: [[f.conjugate(m)==f for m in [m1,m2]] for f in [f7,f11,f5]] [[True, True], [True, True], [True, True]]

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

39 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Rational preperiodic points Post-critically finite maps Automorphism Groups

Tetrahedral family: Family 1 2 3 4 5 6 7

8 9 10 11

sage: B. = PolynomialRing(K) sage: PB = P.change_ring(B) sage: u,v = PB.gens() sage: RB = PB.coordinate_ring() sage: phiB = R.hom([u,v],RB) sage: HB = End(PB) sage: f = HB([phiB(f7[0]*phi(p12a)) + t*phiB(f11[0] *phi(p8)), phiB(f7[1]*phi(p12a)) + t*phiB(f11[1 ]*phi(p8))]) sage: [f.conjugate(m)==f for m in [m1,m2]] [True, True] sage: f.resultant().factor() C*tˆ12*(t + 2/3)ˆ18

Benjamin Hutz

Sage for Dynamical Systems

Computational Problems

40 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

Example: P2 × P1

1 2 3 4 5

sage: T. = ProductProjectiveSpaces([2,1] ,QQ) sage: H = End(T) sage: F = H([xˆ2*u,yˆ2*w,zˆ2*u,wˆ2,uˆ2]) sage: F(T([2,1,3,0,1])) (4/9 : 0 : 1 , 0 : 1)

Benjamin Hutz

Sage for Dynamical Systems

Other topics

41 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

WehlerK3 [CS96, Sil91, dFH15b] 1 2

3 4 5 6 7 8 9 10 11 12 13 14

sage: PP. = ProductProjectiveSpaces([2,2],GF(7)) sage: Q = x0ˆ2*y0ˆ2 + 3*x0*x1*y0ˆ2 + x1ˆ2*y0ˆ2 + 4* x0ˆ2*y0*y1 + 3*x0*x1*y0*y1 -2*x2ˆ2*y0*y1 - x0ˆ2 *y1ˆ2 + 2*x1ˆ2*y1ˆ2 - x0*x2*y1ˆ2 -4*x1*x2*y1ˆ2 + 5*x0*x2*y0*y2 -4*x1*x2*y0*y2 + 7*x0ˆ2*y1*y2 + 4*x1ˆ2*y1*y2 + x0*x1*y2ˆ2 + 3*x2ˆ2*y2ˆ2 sage: L = x0*y0 + x1*y1 + x2*y2 sage: X = WehlerK3Surface([L,Q]) sage: T = X([0,0,1,1,0,0]) sage: X.orbit_phi(T,5) [(0 : 0 : 1 , 1 : 0 : 0), (6 : 0 : 1 , 0 : 1 : 0), (4 : 4 : 1 , 1 : 4 : 1), (6 : 0 : 1 , 1 : 4 : 1), (0 : 0 : 1 , 0 : 1 : 0), (0 : 0 : 1 , 1 : 0 : 0)] sage: X.cardinality() 55

Benjamin Hutz

Sage for Dynamical Systems

Other topics

42 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

WehlerK3: Canonical Heights

1 2 3

4 5 6 7

sage: R. = PolynomialRing(QQ,6) sage: L = (-y0 - y1)*x0 + (-y0*x1 - y2*x2) sage: Q = (-y2*y0 - y1ˆ2)*x0ˆ2 + ((-y0ˆ2 - y2*y0 + (-y2*y1 - y2ˆ2))*x1 +(-y0ˆ2 - y2*y1)*x2)*x0 + ( (-y0ˆ2 - y2*y0 - y2ˆ2)*x1ˆ2 + (-y2*y0 - y1ˆ2)* x2*x1 + (-y0ˆ2 + (-y1 - y2)*y0)*x2ˆ2) sage: X = WehlerK3Surface([L,Q]) sage: P = X([1,0,-1,1,-1,0]) #order 16 sage: X.canonical_height(P,5) 0.00000000000000000000000000000

Benjamin Hutz

Sage for Dynamical Systems

Other topics

43 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

Computing the forward image

Proposition Let f : PN → PN be a morphism and X = V (g1 , . . . , gk ) be a subvariety. Let I ⊂ K [x0 , . . . , xN , y0 , . . . , yN ] be the ideal I = (g1 (x), . . . , gk (x), y0 − f0 (x), . . . , yN − fN (x)). Then the elimination ideal IN+1 = I ∩ K [y0 , . . . , yN ] is a homogeneous ideal and f (X ) = V (IN+1 ).

Benjamin Hutz

Sage for Dynamical Systems

Other topics

44 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

Sanity Check: Iteration of points sage: P. = ProjectiveSpace(QQ,2) sage: H = End(P) sage: f = H([xˆ2 -zˆ2,yˆ2-2*zˆ2,zˆ2]) sage: X = P.subscheme([x, y-2*z]) sage: [Z.defining_polynomials() for Z in f.orbit(X, 2)] 6 [(x, y - 2*z), (y - 2*z, x + z), (y - 2*z, x)] 7 sage: f.orbit(P([0,2,1]),2) 8 [(0 : 2 : 1), (-1 : 2 : 1), (0 : 2 : 1)] 1 2 3 4 5

Benjamin Hutz

Sage for Dynamical Systems

Other topics

45 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

Example: Periodic sage: P. = ProjectiveSpace(QQ,2) sage: H = End(P) sage: f = H([xˆ2 + 6*x*z + 9*zˆ2, -x*z - 3/2*zˆ2, 4 *x*y + 12*yˆ2 - 2*x*z - 3*zˆ2]) 4 sage: X = P.subscheme(x) 5 sage: [Z.defining_polynomials() for Z in f.orbit(X, 3)] 6 [(x,), (x + 6*y,), (x + 3*z,), (x,)] 1 2 3

Benjamin Hutz

Sage for Dynamical Systems

Other topics

46 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

Example: PCF 1 2 3 4 5 6 7 8 9 10

sage: P. = ProjectiveSpace(QQ,2) sage: H = End(P) sage: f = H([(x-2*y)ˆ2,(x-2*z)ˆ2,xˆ2]) #fornaess sage: X = P.subscheme(f.wronskian_ideal()) sage: IC = X.irreducible_components() sage: for X in IC: sage: [Z.defining_polynomials() for Z in f. orbit(X,5)] [(x,), (z,),(y - z,), (x - y,), (x - z,), (y - z,)] [(x-2z,),(y,),(x - z,),(y - z,),(x - y,),(x - z,)] [(x - 2y,),(x,),(z,),(y - z,), (x - y,), (x - z,)]

Benjamin Hutz

Sage for Dynamical Systems

Other topics

47 / 48

Sage Basic Dynamics Functionality Computational Problems Other topics

Products of projective space Iteration of subvarieties

References [CS96]

Gregory S. Call and Joseph H. Silverman, Computing the canonical height on K3 surfaces, Math. Comp. 65 (1996), 259–290.

[dFH15a] Joao de Faria and Benjamim Hutz, Automorphism groups and invariant theory on PN, arXiv:1509.06670. [dFH15b]

, Cycles on Wehler K3 surfaces, New Zealand Journal of Mathematics 45 (2015), 19–31.

[FMV14] Xander Faber, Michelle Manes, and Bianca Viray, Computing conjugating sets and automorphism groups of rational functions, Journal of Algebra 423 (2014), 1161–1190. [HT15]

Benjamim Hutz and Adam Towsley, Thurston’s theorem and misiurewicz points for polynomial maps, New York J. Math 21 (2015), 197–319.

[Hut15]

Benjamin Hutz, Determination of all rational preperiodic points for morphisms of PN, Mathematics of Comptutaion 84 (2015), no. 291, 289–308.

[Sil91]

Joseph H. Silverman, Rational points on K3 surfaces: a new cannonical height, Invent. Math. 105 (1991), 347–373.

Benjamin Hutz

Sage for Dynamical Systems

Other topics

48 / 48

Sage for Dynamical Systems

Dec 5, 2015 - Benjamin Hutz. Department of Mathematics and Computer Science ..... Given a morphism f : PN → PN of degree d, defined over a number field ...

306KB Sizes 6 Downloads 407 Views

Recommend Documents

Virtuality in Neural Dynamical Systems
are present, as it were, only under their code (program) aspect. In particular .... the two different response functions/programs - behaviourRight() ... Bradford MIT.

Bayesian Delay Embeddings for Dynamical Systems
principled ways of finding the embedding dimension dE, the time delay τ and the system dynamics ξ. Under Takens' ... The first step to forecast a chaotic time-series is to employ the history of the observations to reconstruct the state-space .... I

pdf-1834\stochastic-dynamical-systems-concepts-numerical ...
Connect more apps... Try one of the apps below to open or edit this item. pdf-1834\stochastic-dynamical-systems-concepts-numerical-methods-data-analysis.pdf.

8th CONFERENCE DYNAMICAL SYSTEMS THEORY ...
Prentice-Hall Inc., Englewood Cliffs, New Jersey,. 1987. 10. Ju, J. W. On energy-based coupled elastoplastic damage theories: Constitutive modeling and computational aspects. International Journal of Solids and Structures, 25(7), 1989: 803-833. 11. L

Symbolic Extensions and Smooth Dynamical Systems
Oct 13, 2004 - PSYM = {systems which admit a principal symbolic extension} (which ... analytic properties of the so called entropy structure, a sequence of ...

Identification of nonlinear dynamical systems using ... - IEEE Xplore
Abstract-This paper discusses three learning algorithms to train R.ecrirrenl, Neural Networks for identification of non-linear dynamical systems. We select ...

pdf-1329\dynamical-systems-and-population-persistence-graduate ...
... loading more pages. Retrying... pdf-1329\dynamical-systems-and-population-persistence ... dies-in-mathematics-by-hal-l-smith-horst-r-thieme.pdf.

Numerical simulation of nonlinear dynamical systems ...
May 3, 2007 - integration of ordinary, random, and stochastic differential equations. One of ...... 1(yn), v2(yn) and the d × d matrices Bi(yn) are defined by the.

A. Szatkowski - On geometric formulation of dynamical systems. Parts I ...
Page 3 of 86. A. Szatkowski - On geometric formulation of dynamical systems. Parts I and II.pdf. A. Szatkowski - On geometric formulation of dynamical systems.

Symbolic Extensions and Smooth Dynamical Systems
Oct 13, 2004 - Denote this quantity by HDu(Λ). Replacing f by f−1, we obtain the stable Hausdorff dimension of Λ to be the unique number δs = HDs(Λ) such.

Is Dynamical Systems Modeling Just Curve Fitting?
(in press), these authors reviewed the history of work on bimanual ... provide a fit to data may be quantitatively elegant, especially if, as has been true .... University, and Research Scientist Development Award K02-MH00977-O1A1 from the.

Mixing Time of Markov Chains, Dynamical Systems and ...
has a fixed point which is a global attractor, then the mixing is fast. The limit ..... coefficients homogeneous of degree d in its variables {xij}. ...... the 48th Annual IEEE Symposium on Foundations of Computer Science, FOCS '07, pages 205–214,.

A. Szatkowski - On geometric formulation of dynamical systems. Parts I ...
of hidden constraints by analysing the description of the constitutive space of the system. Hidden. constraints .... a tangent vector to the space .... Parts I and II.pdf.

All, most, some differentiable dynamical systems
[Sm1]. Smale, S., On the structure of manifolds. Amer. J. Math. 84 (1962), 387–399. [Sm2]. Smale, S., Differentiable dynamical systems. Bull. Amer. Math. Soc.

Studying Nonlinear Dynamical Systems on a Reconfigurable ... - Sites
So, the analog de- signer must depart from the traditional linear design paradigm, ..... [4] B.P. Lathi, Modern Digital and Analog Communication Systems, Oxford.