Program for exploring transformations of the complex plane,
and drawing fundamental domains for subgroups of
scale: 1 unit to 250 pixels
no tessellationFareytrisectedcoloureddomain 1domain 2domain 3
cosets of Γ0(N)
generators of Γ0(N)
Domains for SL2(Z):
Γ0(N) Γ1(N) Γ0(N) Γ1(N) Γ(N)
change polygon by vertex
Vertices: pj = (a + ib)/c
drag red dots to change original polygon
F button changes whether the polygon is drawn as filled in or
just as outline
1,2,3,4 are some preset polygons; generally some fundamental domains
Click on the + and - points to either add or remove a point to
There are 5 preset polygons, which can be changed as described.
The preset polygons are F1,
F5; the first three are fundamental domains for
PSL(2,Z); the fourth is somewhat random; the fifth is a domain for
Gamma(0,2), and also used in papers of Caroline Series and
Kulkarni (links below)
in describing a geometric interpretation of the continued fraction
The matrices S, T, U, R are given by:
These matrices are special because:
T and S generate PSL_2(Z), and are generators corresponding to the
R and S generate PSL_2(Z), and are generators corresponding to the
T and R generate PSL_2(Z), and are generators corresponding to the
T has infinite order and fixes infinity
S has (projective) order 2 and fixes i
R has (projective) order 3 and fixes the 6th root of unity
U is the conjugate of T-1 by S, and has infinite order and fixes 0
V has (projective) order 2, and fixes (1+i)/2. Together, T and V generate Gamma0(2), and domain F5 is
a fundamental domain corresponding to these generators.
Here, the generators "corresponding to a domain" mean that
edges of that domain are identified by application of these matrices.
When you click to change the matrix, this is applied to the image polygon; two polygons are displayed, one, F, and its image MF, ie.,
the result of appling the matrix M to F.
Need to make it impossible to enter [0,0,0] for point
Add premultiplication by T, S, Tinverse, as well as postmultiplication;
possibly add other "standard" matrices
Note that now p, q, q2 can be moved by mouse move, but the images can not
do we want to change this?
perhaps it's better to allow that p,q,q2 all have the option
of being either complex or rational, rather than current restriction
Note, currently M can be edited to have negative determinant, which may
produce weird results, and generally is not allowed; should we allow this
and edit code to cope with it or not bother?
Also maybe deal with case q=q2?
Deciding what to include?
Showing how to write an element of PSL_2(Z) in terms of
T and S; maybe in terms of other generators also;
ie. include implementing algorithm in Caroline Series paper
Eventually similar for other subgroups of SL_2(Z),
giving generators, relations, etc
Use this to write numbers as continued fractions,
and give corresponding graphical
Look into Desin d'enfant? etc etc...
Also include a corresponding "chopping up rectangles"
continued fraction explanation and other methods
make disc model version... good for displaying infinity
draw farey symbols; make it possible to
draw the farey symbols and convert to domains and vice versa
tried to switch to everything integers, but integers get too
big, do doesn't work; using integers would be good for GCD;
this, may crash... so... need an overhaul at some point;
look for warnings in js file to try and locate places to check
Bug: currently matrix is recomputed everytime mouse moves;
need to stop this, and probably other unnecessary computations
Need to fix: don't have to redraw whole thing
when mouse is moving, only when down/clicked
Some lines are drawn twice in tessellations;
should be more careful and fix this
when a point is moved by mouse, we get a coordinate, as a
decimal... try using continued fractions to get most reasonable
make the canvas etc... Do we do this also as SVG?
And what about latex versions,
and a download button, so people can use images and include them in papers they write?
screen should be scalable; both manual and auto scale options
Educational, learning about complex numbers, etc, this whole area of number theory;
Research tool: how much can this be used to explore domains, complex functions, modular forms?
Research aid: for drawing diagrams to include in papers...
Need a proper css and sort out the old fashioned html etc!
variable/responsive canvas width; variable by user?
make side panel moveable to convenient location
Use nice latexy stuff in displaying information nicely, e.g.,
the matrices, formulars, rationals, continued fractions, etc
What else has been done? Find a list of links to other similar
projects - hope none idential! Also list of references to online and off line material - papers, books
Want to make a jointly editable version of this file, and generally files worked on, with back ups; maybe need to find location..
Add error message about infinity if try to divide by zero
compute and implement shortest distance between two points
(arc extending to circle meeting perpendicular to real line)
Not yet implemented changing multiple of p by M when M or p change!
Need to write out the string of M in terms of T and S
Need to display P and Q nicely, Mp, Mq
include something about relation with Euclidean algorithm... display simultanously? Also relation with Fibonacci numbers?