Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2010-10-09 19:23:22
Size: 1413
Editor: vdelecroix
Comment:
Revision 3 as of 2010-10-10 14:28:35
Size: 1846
Editor: vdelecroix
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Falt surfaces examples =

=== Installation ===

You need to install [[http://wiki.sagemath.org/combinat|sage-combinat]] which is done with the following command

{{{
$ sage -combinat install
}}}

The latter installs a modified version of Sage. For more on what this command does or how to reverse it, you can read this [[http://wiki.sagemath.org/combinat/MercurialStepByStep|step by step tutorial]].

=== Link to documentations and tutorials ===

To get introduced to Sage, look at the documentation on [[http://sagemath.org]]
= Flat surfaces examples =
Line 21: Line 7:
Build a permutation and its Rauzy diagram
Line 25: Line 12:
sage: r = p.rauzy_diagram()
sage: print r
Rauzy diagram with 7 permutations
sage: r.path
Line 27: Line 18:
=== Square tiled surfaces === Build a path in the Rauzy diagram
{{{
sage: path=r.path(p,'t','t','b','t','b','b','t','b')
sage: path.is_full() # all intervals are seen during Rauzy induction
True
sage: path.is_loop()
True
}}}

Build an interval exchange map associated to this path
{{{
sage: l,v,m=path.matrix().eigenvectors_right()[3] # l is the eigenvalue, v the vector and m the multiplicity
sage m == 1
sage: t= iet.IntervalExchangeTransformation(p,v[0])
sage: print t
Interval exchange transformation of [0, 4.390256884515514?[ with permutation
a b c d
d c b a
}}}

And we now check that the interval exchange map is self-similar
{{{
sage: tt = sage: t.rauzy_move(iterations=8)
sage: print tt
Interval exchange transformation of [0, 1[ with permutation
a b c d
d c b a
sage: tt.normalize(l) == t
True
}}}

=== Square-tiled surfaces ===
Line 38: Line 60:
And now, we build its Teichmueller curve and compute some of its invariant (rk: it is not yet clear which property should be attached to the teichmueller curve and which one should be attached to the Veech group) And now, we build its Teichmueller curve and compute some of its invariants (rk: it is not clear yet which properties should be attached to the Teichmueller curve and which should be attached to the Veech group)
Line 45: Line 67:
sage: G.nu2() #elliptic points of order 2 sage: G.nu2() # elliptic points of order 2
Line 47: Line 69:
sage: G.nu3() #elliptic points of order3 sage: G.nu3() # elliptic points of order3

Flat surfaces examples

Using interval exchange transformations

Permutations of interval exchange transformations are created

Build a permutation and its Rauzy diagram

sage: p = iet.Permutation('a b c d','d c b a')
sage: p.connected_component()
H_hyp(2)
sage: r = p.rauzy_diagram()
sage: print r
Rauzy diagram with 7 permutations
sage: r.path

Build a path in the Rauzy diagram

sage: path=r.path(p,'t','t','b','t','b','b','t','b')
sage: path.is_full()  # all intervals are seen during Rauzy induction
True
sage: path.is_loop()
True

Build an interval exchange map associated to this path

sage: l,v,m=path.matrix().eigenvectors_right()[3] # l is the eigenvalue, v the vector and m the multiplicity
sage m == 1
sage: t= iet.IntervalExchangeTransformation(p,v[0])
sage: print t
Interval exchange transformation of [0, 4.390256884515514?[ with permutation
a b c d
d c b a

And we now check that the interval exchange map is self-similar

sage: tt = sage: t.rauzy_move(iterations=8)
sage: print tt
Interval exchange transformation of [0, 1[ with permutation
a b c d
d c b a
sage: tt.normalize(l) == t
True

Square-tiled surfaces

Let us build the genus 2 origami with three squares

sage: o = Origami('(1,2)', '(1,3)')
sage: print o
(1, 2)
(1, 3)

And now, we build its Teichmueller curve and compute some of its invariants (rk: it is not clear yet which properties should be attached to the Teichmueller curve and which should be attached to the Veech group)

sage: t = o.teichmueller_curve()
sage: G = t.veech_group()
sage: G.index()
3
sage: G.nu2()  # elliptic points of order 2
1
sage: G.nu3()  # elliptic points of order3
1
sage: G.ncusps()  # number of cusps
2
sage: t.sum_of_lyapunov_exponents()
4/3

dynamics/examples (last edited 2010-11-07 21:07:37 by VDelecroix)