Computation Files There are five additional files included here. These are text versions of Maple 9 programs, namely: G2.txt F4.txt E6O3.txt E7O4.txt E8O5.txt Hopefully, Maple 9 will accept these as text input. The programs have been run on Maple 9, but use nothing special from this new version. So they should run on Maple 5-8 also. Since these Maple files are uncommented, they are briefly described below. G2.txt: As in Section 6 of the paper, the matrix A describes all positive roots in terms of a basis of L. However here we add an extra row of zeros at the bottom. This will be explained later. The parameters a and b are the values modulo 6 taken on by the the functional lambda on the two basis elements, so a and b are integers between 0 and 5. We form the column matrix B with entries a and b, and compute the product AB=C. Thus C is a column matrix with entries that are the values of lambda on the positive roots. Since the last row of A is zero, the last entry of C is zero. The function f takes on values which are the row indices of A and C. If the entry C[x,1] is divisible by 6, then lambda(the root) is an integer and we take f(x)=x. If not, we let f(x)=7 point to the last row. The sequence S then contains all the row indices where lambda(the root) is an integer. We convert S to a list [S], and truncate it to L by deleting all multiple entries (only the 7s). M is then the submatrix of A, corresponding to the row list L. Hence M is the submatrix of all roots with lambda(the root) an integer, plus the zero row at the end, which does not effect the rank. If rank M=2, then (a,b) is an appropriate coset representative, so we print (a,b) and increase the Count by 1. F4.txt: In this case, it is more convenient to describe the roots in terms of e_1,e_2,e_3,e_4. So the matrix A lists these roots, again with an appended last row of zeros. The value of lambda on the basis roots are now a,b,c,d, and these are integers modulo 12. We then compute e1,e2,e3,e4, the values of lambda on the e-basis, form the column matrix B having the latter four entries, and again find AB=C. Note that the function f is suitably changed to check whether C[x,1] is divisible by 12, and the test for a coset representative is whether rank M is equal to 8 or not. E8O5.txt: Here the matrix A has size 120 x 8 with an additional row of zeros. It is constructed based on e_1,e_2,...,e_8. Since Maple does not seem to print hard copies of an output matrix that extends beyond one page, the matrix A is constructed from seven smaller matrices A1,A2,...,A7, each of which fits on a page, and then stacked together. The eight values for lambda on the basis are a,b,c,d,e,f,g,h modulo 60. Since lambda is to have order 5 or 1, these values are either 0, 12, 24, 26 or 48. Hence, in the do loop, we step by 12. Because f is used above, the function f has been renamed ff, and Count is now Cnt. The program ran in 6 hours and 40 minutes on my MacG4. E6O3.txt: This is similar to the E8 file above. We count the number of functionals lambda of order 1 or 3. The matrix A is constructed from the basis e_1,e_2,...,e_5 and the last basis element e_8-e_7-e_6, which we call e_6 in the file. The six values for lambda on the root basis are a,b,c,d,e,f modulo 6, so we do a step by 2. E7O4.txt: Again this is similar to the E8 file. We count the number of functionals lambda of order dividing 4. The matrix A is constructed from the basis e_1,e_2,...,e_5,e_6 and the last basis element e_8-e_7, which we call e_7 in the file. The seven values for lambda on the root basis are a,b,c,d,e,f,g modulo 12, so we do a step by 3 to handle elements of order dividing 4. The E files are easily modified to count the number of lambdas of different orders. One merely changes the step size. In the case of E8 and order dividing 6, I split the problem into the four separate runs with a=0, 10, 20 and 30. Each took about 3 hours on my Mac. Of course, the answer for a=40 is the same as for a=20. Similarly a=50 and a=10 correspond.