Commit 7257c5ad authored by Emmanuel Thomé's avatar Emmanuel Thomé

propagage commit d277a2e

parent ad7e77d2
......@@ -420,13 +420,17 @@ def formulas(k):
# (-T-1)/3 : good if T is 2 mod 3, so *never good* !
# (-T^2-2)/3 : good if T is 1, 2 mod 3 (hence only 1)
(1, T+1, [(0,6,(T*(T-2))/3), (1,6,(1-T**2)/3-1), ]),
# For i==1, t0 == 2-T
# what might correspond to CocksPinchVariant is:
#(1, T+1, [(0,6,(T*(T-2))/3), (1,6,(2+T**2)/3), ]),
# For i==5, t0 == 2-T
# The representatives of (t0-2)*inv_sqrt_D in 1/3 * Z are:
# (T-2*T^2)/3 = T*(1-2*T)/3 : outside range
# (1-T^2)/3 : good if T is 1 or 2 mod 3 (hence only 1)
# (2-T)/3 : good if T is 2 mod 3, so *never good* !
# (T^2-2*T+3)/3 : good if T is 0 or 2 mod 3 (hence only 0)
(5, 2-T, [ (0,3,1+T*(T-2)/3), (1,3,(1-T**2)/3), ]),
# what might correspond to CocksPinchVariant is:
#(5, 2-T, [ (0,3,1-T*(T-2)/3), (1,3,-(1-T**2)/3), ]),
]
# Note that congruence classes on ht and hy will force p to be an
# integer, even though it seems to have a 1/4 in the denominator.
......@@ -466,7 +470,7 @@ def formulas(k):
print("k={} D={} i={} T%{}={}".format(k,D,i,tq,tr))
print("t = {} +h_t*r".format(t0))
print("y = {} +h_y*r".format(y0))
print("coeffs p, T^{} first, constant last:".format(2*euler_phi(k)))
print("coeffs 4*p, T^{} first, constant last:".format(2*euler_phi(k)))
for pp,j in [(((4*p).coefficient({T:j})).factor(),j) for j in range(2*euler_phi(k), -1, -1)]:
if j > 1:
print("({})*T^{} + ".format(pp,j))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment