• No results found

Further extensions

In document Recognising mapping classes (Page 90-95)

Chapter 6 Other applications and implementation

6.4 Further extensions

We finish with some further remarks about generalisations of the results of the previous chapters.

6.4.1 The extended mapping class group

All of the techniques that we have described can also be applied to the extended mapping class group Mod±(S), which includes orientation-reversing mapping classes [38, Page 219]. We note however that Dehn twists and half-twists are insufficient to generateMod±(S) and an additional orientation reversing mapping class is needed.

6.4.2 Other surfaces

There are several generalisations of the surfaces we have been working with. Firstly, whenS is an unmarked surface we can still produce the results of Chapters 3 and 4 by switching to a different coordinate system. For example, the Dehn–Thurston coordinates onC(S)andML(S)coming from a pants decomposition [39, Section 6.4]. AsMod+(S)also acts piecewise linearly onML(S)with respect to these coordinates [76] the results and algorithms of Chapters 3 and 4 can be directly reconstructed.

However, in its current form, the periodic case of the conjugacy problem requires at least one puncture in order to determine the quotient orbifold. This is an obstruction to constructing the total conjugacy invariant in this case.

Question 6.4.1. Suppose thatSis a closed surface. Is deciding whether two periodic words g, h∈X∗ are conjugate a problem inco-NP?

Figure 6.8: The stable lamination for the pseudo-Anosov mapping classρ○Tα2○Tβ−3, as found byflipper.

A second alternative is to allowS to be a surface with boundary. For these we require that mapping classes fix the boundary components pointwise. In this case, by adding a single marked point to each boundary component we can again triangulate Sand reproduce the algorithms of Chapters 3 and 4. In this case a slight modification to the matricesFi of Lemma 3.3.1 is needed to disallow peripheral curves.

A third possibility is to allow the surface to be non-orientable. We highlight the fact that, as well as additional generators, extra care is needed. For example, if γ∈ C(S) is a curve thenι(γ,T ) =2 is no longer sufficient to deduce that γ meets T as shown in Figure 2.3.

6.4.3 Independence of surface

It is also interesting to consider how the difficulty of these problems changes when the surface is also allowed to vary. As before, we specify the surface via a triangulation and so the complexity of the specification isO(ζ).

Problem 6.4.2 (The generalised reducibility problem). Given a triangulation T

(of an arbitrary marked surface) and a path pfrom T toh(T ), decide whether h is reducible.

For this problem, the bounds constructed in Chapter 3 still hold in this more general setting.

Proposition 6.4.3. If h is reducible then there is a h–invariant multicurve γ such

that T (γ) is O(`(h) +ζ)–bounded.

Again such a multicurve acts as a certificate that h is reducible and is sufficiently small that we obtain that:

Corollary 6.4.4. The generalised reducibility problem is in NP.

Problem 6.4.5 (The generalised pseudo-Anosov problem). Given a path pfrom T toh(T )whereT is a triangulation of an arbitrary marked surface, decide whetherh is pseudo-Anosov.

We note that the quantities h0, h1, t, d1 and p1 of the main algorithm

are all also polynomial functions of ζ and K(S), where K(S) is the constant of Theorem 4.2.10. Therefore, in this more general setting, the main algorithm will run inO(poly(`(p) +ζ+K(S)))operations.

Corollary 6.4.6. IfK(S) ∈O(poly(ζ(S))then the generalised pseudo-Anosov prob-

lem is in NP.

Problem 6.4.7 (The generalised conjugacy problem). Given paths p from T to g(T ) and q from T′ to h(T′) where T and T′ are triangulations of an arbitrary marked surface, decide whetherg andh are conjugate mapping classes.

This generalisation appears to be significantly harder.

Proposition 6.4.8. The generalised conjugacy problem is at least as hard as the

graph isomorphism problem, that is, the problem of deciding whether two graphs are isomorphic [82, Page 355].

Proof. Consider two finite graphsGandH. We will assume that each hasv vertices (each of degree at least three) ande edges. Choose embeddings ofGandH intoR3.

Let S ∶=∂N(G) and S′ ∶=∂N(H), with a marked point added to S (respectively S′) corresponding to each vertex of G (reps. H). Let γ (respectively γ′) be the multicurve onS obtained by lifting the midpoint of each edge ofG(resp. H) to a curve. Let g∶=Tγ∈Mod+(S) andh ∶=Tγ′ ∈Mod+(S′), then g is conjugate to h if

and only ifGis isomorphic to H. Moreover

ζ=ζ(S) =ζ(S′) =18e+15v−6

and we may choose triangulations T and T′ of S and Srespectively such that ι(γ,T ), ι(γ′,T′) ∈O(ζ2). Hence there are paths pand p′ representing g andh such that`(p), `(p′) ∈O(ζ3) and so the generalised conjugacy problem is at least as hard as the graph isomorphism problem.

Although the graph isomorphism problem is known to be in NP, it is not

known to be inP,NP-complete or evenco-NP[82, Page 355]. It remains a problem

Appendix A

flipper

timings

A.1

On the once-marked torus

The following flipper script decides the Nielsen–Thurston type of a sequence of mapping classes on S1,1. The running times of these calculations are also shown

below.

1 import flipper

2 from time import time

3 4 S = flipper.load(’S_1_1’) 5 6 for i in [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]: 7 start_time = time() 8 h = S.mapping_class(’a’ * i + ’B’ * i) 9 assert(h.is_pseudo_anosov())

10 print(i, time() - start_time)

i Time (s) 100 3.43 200 7.29 300 11.82 400 16.72 500 22.53 600 29.07 700 36.18 800 44.35 900 52.04 1000 61.20 200 400 600 800 1000 0 20 40 60 i Time (s)

A.2

On the twice-marked torus

The following flipper script decides the Nielsen–Thurston type of a sequence of mapping classes on S1,2. The running times of these calculations are also shown

below.

1 import flipper

2 from time import time

3 4 S = flipper.load(’S_1_2’) 5 6 for i in [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]: 7 start_time = time() 8 h = S.mapping_class(’a’ * i + ’B’ * i + ’C’ * i) 9 assert(h.is_pseudo_anosov())

10 print(i, time() - start_time)

i Time (s) 10 2.66 20 5.24 30 7.89 40 10.21 50 12.81 60 15.46 70 18.13 80 20.86 90 23.69 100 26.96 20 40 60 80 100 10 20 i Time (s)

In document Recognising mapping classes (Page 90-95)

Related documents