The file phi_l.dec.gz when uncompressed (by gunzip) contains the coefficients f(a,b) 0 <= b <= l , 0 <= a <= b of the modular polynomial phi_l(X,Y) = l l ----- ----- (l + 1) (l + 1) \ \ a b X + Y + ) ) f(a,b) X Y / / ----- ----- a = 0 b = 0 whose coefficients f(a,b) are determined from l - 1 --------' ' | | / tau + k \ (X - j(l tau)) | | |X - j(-------)| | | \ l / | | k = 0 l l ----- ----- (l + 1) (l + 1) \ \ a b X + (j(tau)) + ) ) f(a,b) X (j(tau)) / / ----- ----- a = 0 b = 0 Because f(a,b)=f(b,a) we only store the values for a<=b. For example, the file phi_2.dec reads: -157464000000000 8748000000 40773375 -162000 1488 -1 So, phi_2(X,Y) = 3 3 X + Y - 157464000000000 + 8748000000 X + 8748000000 Y + 40773375 X Y 2 2 2 2 2 2 - 162000 X - 162000 Y + 1488 X Y + 1488 X Y - X Y