Triangulated surfaces and well-girthed spines in Sage
Load the triangulated_surface class and create an instance TS which is L-shaped. Change the variable "disc" to any discriminant of a real-quadratic order (i.e. an integer congruent to 0 or 1 mod 4) to get another example.
TS can be multiplied by matrices in GL2(R), yielding a new triangulated surface TSn.
We can now compute the Delaunay triangulation of the metric space associated to TSn.
We can also enumerate the saddle periods on TS, i.e. the complex lengths of geodesics beginning and ending at vertices of triangles in TS and avoiding the vertices otherwise.
Now load the wg_spine class and create an instance to compute a fundamental domain and generators for the Veech group SL(TS).
Now that we have enumerated the vertices and edges of the well-girthed spine, we can compute generators and a fundamental domain for the Veech group of TS.
We can also compute the homeomorphism type of H/SL(TS)