{VERSION 5 0 "IBM INTEL LINUX" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "read \"mobius.mpl\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "read \"MobiusonCircles.mpl\";" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "Digits:=15:" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 18 "Generator formulas" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 126 "amatrix:=k->\n evalf(Matrix([[1,-1],[1,1]]) ^(-1) . Matrix([[sqrt(k),0],[0,1/sqrt(k)]]) . \n Matrix([[1,- 1],[1,1]]) ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 139 "bmatrix:= (k,t0)->\n evalf(Matrix([[1,-t0*I],[1,t0*I]])^(-1) . Matrix([[sqrt(k) ,0],[0,1/sqrt(k)]]) \n . Matrix([[1,-t0*I],[1,t0*I]])):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "Id:=IdentityMatrix(2):" }}}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 77 "Multipliers of a and b, and the he ight of fixed points of b on imaginary axis" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "multa:=evalf(6.0): multb:=evalf(2.09): t0:=evalf(0.2) : " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "a:=amatrix(multa): b: =bmatrix(multb,t0): A:=a^(-1): B:=b^(-1):" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 95 "CA:=IsometricCircle(a): CB:=IsometricCircle(b):\nCa :=IsometricCircle(A): Cb:=IsometricCircle(B):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "gens:=[a,b,A,B]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "cirs:=[Ca,Cb,CA,CB]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "pts:=map(Hcenter,cirs):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 924 "forward:=proc(v::list,m::Matrix,n)\n global wlist, gens,cirs,pts,eps;\n local i,j,k,circle;\n if nops(v) = 0 then \+ # If v is the empty word, then four branches\n for i from 4 to 1 \+ by -1 do\n forward( [i], gens[i] , n)\n end do;\n else # If level greater than 0, start three branches\n for i from 1 \+ to -1 by -1 do\n j:=v[-1]; # Check last \+ tag in v\n k:= (j + i -1 mod 4) +1; # Do modular increm ent\n circle:=CircleMap(m,cirs[k]): # Compute Schottky circl e\n if evalf(Hradius(circle)) > eps and nops(v) < n then \n \+ forward([op(v),k], m.gens[k], n); \n \+ # Append next tag and go forward \n # if the \+ circle is large enough.\n else # Otherwise add circle to plot list\n wlist:=[op(wlist),mobius(m,pts[k])]; \n \+ end if:\n end do;\n end if;\nend proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "eps:=.04:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "wlist:=[]: forward([],Id,10000):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "nops(wlist);" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 66 "complexplot([op(wlist),wlist[1]],color=black,scalin g=CONSTRAINED);" }}}}{MARK "0 0 0" 8 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }