Differences between revisions 8 and 10 (spanning 2 versions)
Revision 8 as of 2010-10-08 11:29:07
Size: 3909
Editor: vdelecroix
Comment:
Revision 10 as of 2017-04-28 19:03:43
Size: 104
Editor: mrennekamp
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Flat surfaces in Sage = #REDIRECT dynamics/FlatSurfaces
= Flat surfaces =
Line 3: Line 4:
== Introduction ==

For general mathematic references see the [[https://lma.homelinux.org/wiki/FlatSurfaces/FlatSurfaces|Flat surfaces wiki]]. A flat surface can be seen either
 * as a union of polygons glued along pairs of parallel sides,
 * as a flat metric with no holonomy on a compact surface,
 * as a Riemann surface together with a non zero Abelian (or quadratic) differential,
 * ...

This page is aimed to be a roadmap for the implementations of various algorithm related to flat surfaces and more generally geometry/combinatoric/dynamic of surfaces (Mapping class group, train track, pseudo-Anosov dynamic, ...). For the moment we share the [[http://wiki.sagemath.org/combinat|sage-combinat repository]] with mercurial for the development.

This project take part in the wider [[SageDynamicsProject]]

== General architecture ==

For now the main structure is as follows

 * sage.combinat.flat_surfaces (which contains various generic objects)
 * sage.combinat.flat_surfaces.iet (for interval exchange transformations stuff)
 * sage.combinat.flat_surfaces.origamis (for origamis/square tiled surfaces stuff)
 * sage.geometry.hyperbolic_geometry (hyperbolic spaces)
 * sage.groups.surface_gps (abstract surface groups)

Where do we put

 * representation of surface group into PSL(2,R)
 * fundamental domains of such groups / Poincare polygons / Dirichlet fundamental domains

== Roadmap ==

=== Port of other programs ===
 * Joshua Bowman program on iso-Delaunay tessellations (written in Java)
 * Finish Anton Zorich port of Interval Exchange Transformations and Linear Involutions (written in Mathematica)
 * Anton Zorich program for computing approximation of various Lyapunov exponents (written in C and Mathematica)
 * Alex Eskin program for analyzing saddle connections direction in a surface (written in C++)

=== Different representations/implementations for flat surfaces ===
 * (convex) polygonal surface
  * rectangulated surface
   * suspension of iet (and li) (almost in Sage)
   * Thurston-Veech construction
  * triangulated surface
   * Delaunay surface (?)
 * Algebraic curve with Abelian or quadratic differential
 * Coverings (make it relative)... need to implement maps between translation surfaces
  * square tiled surfaces/origamis (covering of the torus) (almost in Sage)
  * hyperelliptic curves (specifying a double cover of the sphere)
 * Unfoldings of rational billiards

=== Needed generic methods ===
 * switch between representations (the one to which everybody can be converted is triangulated flat surface)
 * computing fundamental group and relative homology and homology (as well as functors between them)
 * maps between flat surfaces (and functors to fundamental group and homologies)
 * action of SL(2,R) and isomorphisms (and functors)
 * Siegel Veech constants
 * Lyapunov exponents

=== Surface Group ===

They are needed from two point of vue: the group of the surface itself and its stabilizer under SL(2,R) or PSL(2,R) action. There must be some software for dealing with surface group. We need to look at

 * [[http://www.warwick.ac.uk/~mareg/download/kbmag2/|kbmag]]: Knuth-Bendix in Monoids and Automatic Groups implemented by Derek Holt

=== Hyperbolic geometry ===
This part is roughly implemented in [[http://trac.sagemath.org/sage_trac/ticket/9439|trac #9439]]
 * the three 2D models: hyperbolic plane, hyperbolic disc and the hyperboloïd
 * points, geodesics and polygonal domains
 * tessellations (covering of HH by finite area convex polygonal domains)
 * Fuchsian groups, their fundamental domains and their associated tessellations

The [[http://egl.math.umd.edu/|Experimental Geometry Lab]] (university of Maryland) published a lot of Mathematica package/worksheets to deal with Kleinian adn Fuchsian groups, hyperbolic tessellations, etc...
This page has moved to [[dynamics/FlatSurfaces]]

Flat surfaces

This page has moved to dynamics/FlatSurfaces

SageFlatProject (last edited 2017-04-28 19:03:43 by mrennekamp)