2function j_invariant(
a1,
a3, a2, a4, a6)
6 b8 :=
a1^2 * a6 -
a1 *
a3 * a4 + a2 *
a3^2 + 4 * a2 * a6 - (a4^2);
7 Disc := -(b2^2) * b8 + 9 * b2 *
b4 * b6 - 8 *
b4^3 - 27 * b6^2;
10 c6 := -(b2^3) + 36 * b2 *
b4 - 216 * b6;
13 var2 :=
c4^3 / ((
c4^3 -
c6^2) / 1728);
19Pt<t> := PolynomialRing(Rationals());
20Ru<u> := ext<Rationals() | t^2 - 3>;
21Px<x> := PolynomialRing(Ru);
22Ri<i> := ext<Ru | x^2 + 1>;
23Ra<a1, a3, alpha> := PolynomialRing(Ri, 3);
32fac_den := Factorization(den);
33printf
"j(G):\n(%o)\n-------------------------------------------------------\n\t\t(%o)\n",
num,den;
34assert den div &*[fk[1]^fk[2] : fk in fac_den] eq 1;
35printf
"\nits numerator factors as: %o\n",
fac_num;
36printf
"its denominator factors as: %o\n\n", fac_den;
41assert num div &*[fk[1]^fk[2] : fk in fac_num] eq 1;
42fac_den := Factorization(den);
43printf
"j(E):\n(%o)\n-------------------------------------------------------------\n (%o)\n",
num,den;
44assert den div &*[fk[1]^fk[2] : fk in fac_den] eq 1;
45printf
"\nits numerator factors as: %o\n",
fac_num;
46printf
"its denominator factors as: %o\n\n", fac_den;
49RA<A> := PolynomialRing(Ri);
51num, den := j_invariant(0, 0, A, 1, 0);
53c_num :=
num div &*[fk[1]^fk[2] : fk in fac_num];
54fac_den := Factorization(den);
55printf
"j(Fâ):\n(%o)\n--------------------------------------------\n (%o)\n",
num,den;
56c_den := den div &*[fk[1]^fk[2] : fk in fac_den];
57printf
"\nits numerator factors as: %o\n",
fac_num;
58printf
"its denominator factors as: %o\n", fac_den;
59printf
"and constant factor: %o\n\n", c_num / c_den;
61num, den := j_invariant(0, 0, A + 6, 4 * (2 + A), 0);
63c_num :=
num div &*[fk[1]^fk[2] : fk in fac_num];
64fac_den := Factorization(den);
65printf
"j(Fââ):\n(%o)\n-----------------------------------------------\n (%o)\n",
num,den;
66c_den := den div &*[fk[1]^fk[2] : fk in fac_den];
67printf
"\nits numerator factors as: %o\n",
fac_num;
68printf
"its denominator factors as: %o\n", fac_den;
69printf
"and constant factor: %o\n\n", c_num / c_den;
Ra< a1, a3, alpha > zeta3
function j_invariant(a1, a3, a2, a4, a6) b2 b4