FunDomain: FunDomain is a java program written by Helena A. Verrill for drawing fundamental domains of certain congruence subgroups of SL_2(Z) acting on the upper half complex plane. The program is covered by the GNU GPL license. To run the program, you will need to be able to run java programs, either from a browser such as netscape, or in an applet. You'll need to have "javac" installed to compile the program, and "java" to run it. You can get these from: http://java.sun.com/j2se/ If you already have java, you can find the version by typing > java -version If it's 1.1.1 or higher this, program should work for you. (If you're using linux you might have to edit your font.properties file for it to not give error messages) Unpack the fundomain.tar.gz file by typing: > tar -zxvf fundomain.tar.gz This produces a fundomain directory containing the following files: README GNUGPL.txt ArcSection.java ConFrac.java ConjClassRep.java FunDomain.java HypTriangle.java IntMat.java ModN.java RepList.java To compile the program, type: > javac FunDomain.java To run the resulting program, type > java FunDomain A java applet should pop up. Instructions on using the program: General controls: ----------------- Using the orange coloured buttons to: scale button: Change scale (in pixels per unit) Expand Rectangle button: Click on the screen and drag the mouse to form a rectangle. Then click on 'expand rectangle' and the scale changes so the height of the rectangle becomes the height of the screen. The center of the rectangle moves the the center of the screen (in vertical direction only). Colour choice buttons: Change colour of triangles <-- <- 0 -> --> buttons: Change position of the origin (Press "0" to put the origin in the center) Fundamental domain drawing mode: -------------------------------- Draws Fundamental Domain for intersection of one of Gamma^0(N), Gamma^1(N), Gamma_0(N), Gamma_1(N), Gamma(N) with one of Gamma^0(M), Gamma^1(M), Gamma_0(M), Gamma_1(M), Gamma(M). Type of group: There are choice buttons to choose which of the above types of groups to use. Changing N: Type in N, in the box provided, then click on "draw" OR press the ">" and "<" buttons to increase N in steps. Changing M: Type in M, in the box provided, then click on "draw" OR press the ">" and "<" buttons to increase N in steps. Edit Mode: Click on the "edit" button then you can move the triangles to give a different fundamental domain by clicking on the yellow circles on the boundaries of the triangles. Links Mode: Click on the "link" button to show how the boundary is linked up. Find matrix: Click on a triangle to find out what the corresponding coset representative is, as a 2 by 2 matrix. Triangle Drawing mode: ---------------------- Here you can draw a triangle corresponding to transforming a standard domain by a given matrix. Currently only matrices of determinant 1 are allowed. You can enter the matrix, by typing in the appropriate spaces on the right of the screen, and then click on "draw" OR use the buttons TM, RM, etc to transform the matrix M. Matrices are T=[1,1;0,1], T'=[1,-1;0,1], S=[0,-1;1,0], R = [0,-1;1,1]. move/copy: If move is selected, when the matrix is applied (eg, T, R, etc) the triangle is moved by this matrix. If copy is selected, a copy is made, which is a translate by the applied matrix. Move to: this moves the origin so that the triangle just drawn is in the middle of the screen Scale to: If you click on this, in addition to moving, it also scales, so the triangle just drawn is in the middle of the screen, AND at a reasonable size so you can see it. For more instructions for how to use the program see the web page at: http://hverrill.net/fundomain/index.html