FunDomain:12FunDomain is a java program written by Helena A. Verrill3for drawing fundamental domains of certain congruence4subgroups of SL_2(Z) acting on the upper half complex plane.56The program is covered by the GNU GPL license.78To run the program, you will need to be able to9run java programs, either from a browser such10as netscape, or in an applet.1112You'll need to have "javac" installed to compile13the program, and "java" to run it.14You can get these from:15http://java.sun.com/j2se/1617If you already have java, you can find the version18by typing19> java -version20If it's 1.1.1 or higher this, program should work for you.21(If you're using linux you might have to edit your22font.properties file for it to not give error messages)2324Unpack the fundomain.tar.gz file by typing:25> tar -zxvf fundomain.tar.gz26This produces a fundomain directory containing the following files:2728README29GNUGPL.txt30ArcSection.java31ConFrac.java32ConjClassRep.java33FunDomain.java34HypTriangle.java35IntMat.java36ModN.java37RepList.java383940To compile the program, type:41> javac FunDomain.java4243To run the resulting program, type44> java FunDomain4546A java applet should pop up.4748Instructions on using the program:4950General controls:51-----------------5253Using the orange coloured buttons to:5455scale button: Change scale (in pixels per unit)56Expand Rectangle button: Click on the screen and drag the mouse57to form a rectangle.58Then click on 'expand rectangle' and the scale59changes so the height of the rectangle becomes60the height of the screen.61The center of the rectangle moves the the62center of the screen (in vertical direction only).6364Colour choice buttons: Change colour of triangles6566<-- <- 0 -> --> buttons: Change position of the origin67(Press "0" to put the origin in the center)68697071Fundamental domain drawing mode:72--------------------------------7374Draws Fundamental Domain for intersection of75one of76Gamma^0(N), Gamma^1(N), Gamma_0(N), Gamma_1(N), Gamma(N)77with one of78Gamma^0(M), Gamma^1(M), Gamma_0(M), Gamma_1(M), Gamma(M).798081Type of group: There are choice buttons to choose which of the82above types of groups to use.8384Changing N: Type in N, in the box provided, then click on "draw"85OR press the ">" and "<" buttons to increase N in steps.86Changing M: Type in M, in the box provided, then click on "draw"87OR press the ">" and "<" buttons to increase N in steps.8889Edit Mode: Click on the "edit" button then you can move the triangles to give90a different fundamental domain by clicking on the yellow circles91on the boundaries of the triangles.9293Links Mode: Click on the "link" button to show how the boundary is linked up.9495Find matrix: Click on a triangle to find out what the corresponding96coset representative is, as a 2 by 2 matrix.979899Triangle Drawing mode:100----------------------101102Here you can draw a triangle corresponding103to transforming a standard domain by a given matrix.104Currently only matrices of determinant 1 are allowed.105106You can enter the matrix, by typing in the appropriate spaces on the right107of the screen, and then click on "draw"108OR use the buttons TM, RM, etc to transform the matrix M.109Matrices are T=[1,1;0,1], T'=[1,-1;0,1], S=[0,-1;1,0], R = [0,-1;1,1].110111move/copy: If move is selected, when the matrix is applied112(eg, T, R, etc) the triangle is moved by this matrix.113If copy is selected, a copy is made,114which is a translate by the applied matrix.115116Move to: this moves the origin so that the triangle just drawn is117in the middle of the screen118119Scale to: If you click on this, in addition to moving, it also scales,120so the triangle just drawn is in the middle of the screen,121AND at a reasonable size so you can see it.122123124125For more instructions for how to use the program see the web page at:126http://hverrill.net/fundomain/index.html127128129130131132