# Save generate.py, seeds.json and class-data.json from the attachments
# in the working directory.
# The output is an exact integer; the digits argument does not round it.
from generate import McKayThompsonCoefficients
generator = McKayThompsonCoefficients()
generator.value({'g': '2A', 'n': 30}, digits=100)Computed using exact integer arithmetic and the four coefficient recurrences in [3], §9, equation (9.1). Every division by two is checked for exact divisibility. The seeds at exponents 1, 2, 3 and 5 are transcribed from the scanned Table 4 in [2]; the squared-class data are frozen from GAP CTblLib 1.3.11 [4]. The identity-class series is computed internally from $j=E_4^3/\Delta$, using $E_4$ and $\Delta$.
All first-ten coefficients for the 32 stored classes and the identity agree with the scanned published controls. Character sums using the decompositions in [2], Table 1a, agree for exponents 1 through 5 in all 33 classes. Independent finite eta products agree with all 240 coefficients of the eight prime-order series. Triangular Laurent cancellation checks the replication relations at multipliers 3 and 5 through exponents 10 and 6, respectively, for every stored class. It also reconstructs all 171 overlapping Faber polynomials through degree 20. The identity coefficients agree with the separate $j$ expansion through exponent 30. Known-answer controls and deliberately incorrect signs and exponent offsets precede the comparisons. The attached checker repeats these tests on values read from the database.