17 KiB
17 KiB
In [ ]:
load('ZetaFunctionsNewtonND.py') load('zetas_triples_general.py') R3.<x, y, z> = PolynomialRing(QQ, order='negdeglex') R2.<u, v> = PolynomialRing(QQ, order='negdeglex')
In [178]:
def monomios(a,b): f = (u^a * v^b)^2 + u^(2 * (a + b) + 1) + v^(2 * (a + b) + 1) g = (u^a * v^b)^3 + u^(3 * (a + b) + 1) + v^(3 * (a + b) + 1) F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y) A = -2 * identity_matrix(QQ, 3 * (a + b) + 1) A[0, 0] = -(3 * (a + b) + 1) A[3 * a, 3 * a] = A[3 * (a + b), 3 * (a + b)] = -1 A[0, 3 * a] = A[3 * a, 0] = A[3 * (a + b), 0] = A[0, 3 * (a + b)] = 1 for i in (1 .. 3 * a - 1): A[i, i + 1] = A[i + 1, i] = 1 for i in (3 * a + 1 .. 3 * (a + b) - 1): A[i, i + 1] = A[i + 1, i] = 1 Vf, Vg, Vd = [vector(QQ, 3 * (a + b) + 1) for i in (1, 2, 3)] Vf[2 * a] = Vf[3 * a + 2 * b] = 1 Vg[3 * a] = Vg[3 * (a + b)] = 1 Vd[3 * a] = Vd[3 * (a + b)] = 1 Vd[0] = 3 * (a + b) + 1 n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, (), (), Vd, total=False) zetatop, zetamon, dic = zetas(n, pols, info=True) return zetas(n, pols, info=True)
In [180]:
res = {} for a in (1, .., 3): for b in (a, .., 3): res[a, b] = monomios(a, b)
In [181]:
res
Out[181]:
{(1, 1): [(-9/14, 1), (-2/3, 1)],
(1, 2): [(-11/20, 2)],
(1, 3): [(-58/117, 1), (-1/2, 1)],
(2, 2): [(-1/2, 3)],
(2, 3): [(-67/144, 1), (-15/32, 2)],
(3, 3): [(-17/38, 1), (-4/9, 2)]}
In [182]:
resd = {} for a in (1, .., 10): resd[a] = monomios(a, a)
In [183]:
resd
Out[183]:
{1: [(-9/14, 1), (-2/3, 1)],
2: [(-1/2, 3)],
3: [(-17/38, 1), (-4/9, 2)],
4: [(-21/50, 1), (-5/12, 2)],
5: [(-25/62, 1), (-2/5, 2)],
6: [(-29/74, 1), (-7/18, 2)],
7: [(-33/86, 1), (-8/21, 2)],
8: [(-37/98, 1), (-3/8, 2)],
9: [(-41/110, 1), (-10/27, 2)],
10: [(-45/122, 1), (-11/30, 2)]}
In [184]:
res1 = {} for a in (1, .., 10): res1[a] = monomios(a, a + 1)
In [185]:
res1
Out[185]:
{1: [(-11/20, 2)],
2: [(-67/144, 1), (-15/32, 2)],
3: [(-113/264, 1), (-85/198, 1), (-19/44, 1)],
4: [(-57/140, 1), (-137/336, 1), (-23/56, 1)],
5: [(-241/612, 1), (-67/170, 1), (-27/68, 1)],
6: [(-323/840, 1), (-277/720, 1), (-31/80, 1)],
7: [(-139/368, 1), (-365/966, 1), (-35/92, 1)],
8: [(-523/1404, 1), (-155/416, 1), (-3/8, 1)],
9: [(-641/1740, 1), (-577/1566, 1), (-43/116, 1)],
10: [(-257/704, 1), (-701/1920, 1), (-47/128, 1)]}
In [186]:
res2 = {} for a in (1, .., 10): res1[a] = monomios(1, a)
In [188]:
res1
Out[188]:
{1: [(-9/14, 1), (-2/3, 1)],
2: [(-11/20, 2)],
3: [(-58/117, 1), (-1/2, 1)],
4: [(-89/192, 1), (-15/32, 1)],
5: [(-42/95, 1), (-17/38, 1)],
6: [(-169/396, 1), (-19/44, 1)],
7: [(-218/525, 1), (-21/50, 1)],
8: [(-13/32, 1), (-23/56, 1)],
9: [(-334/837, 1), (-25/62, 1)],
10: [(-401/1020, 1), (-27/68, 1)]}
In [169]:
h = f^3 - g^2 Zh = ZetaFunctions(h) [p.factor() for p in Zh.get_polyfaces_dictionary(compact=True) if p.number_of_terms() > 1]
Out[169]:
[(-1) * v^31 * (2*u^6 + v^7), (-1) * u^25 * (2*v^12 + u^13), (-1) * (u + v) * u^6 * v^12 * (2*u^18 - 2*u^17*v + 2*u^16*v^2 - 2*u^15*v^3 - u^14*v^4 + u^13*v^5 - u^12*v^6 + u^11*v^7 - u^10*v^8 + u^9*v^9 - u^8*v^10 + u^7*v^11 - u^6*v^12 + u^5*v^13 - u^4*v^14 + u^3*v^15 - u^2*v^16 - 2*u*v^17 + 2*v^18)]
In [170]:
h.factor()
Out[170]:
(u + v) * (-2*u^24*v^12 + 2*u^23*v^13 - 2*u^22*v^14 + 2*u^21*v^15 + u^20*v^16 - u^19*v^17 + u^18*v^18 - u^17*v^19 + u^16*v^20 - u^15*v^21 + u^14*v^22 - u^13*v^23 + u^12*v^24 - u^11*v^25 + u^10*v^26 - u^9*v^27 + u^8*v^28 + 2*u^7*v^29 - 2*u^6*v^30 - u^37 + u^36*v - u^35*v^2 + u^34*v^3 - u^33*v^4 + u^32*v^5 - u^31*v^6 + u^30*v^7 + 2*u^29*v^8 - 2*u^28*v^9 + 2*u^27*v^10 - 2*u^26*v^11 + 2*u^25*v^12 - 2*u^24*v^13 + 2*u^23*v^14 - 2*u^22*v^15 + 2*u^21*v^16 - 2*u^20*v^17 + 2*u^19*v^18 - 4*u^18*v^19 + 4*u^17*v^20 + 2*u^16*v^21 - 2*u^15*v^22 + 2*u^14*v^23 - 2*u^13*v^24 + 2*u^12*v^25 - 2*u^11*v^26 + 2*u^10*v^27 - 2*u^9*v^28 + 2*u^8*v^29 - 2*u^7*v^30 + 2*u^6*v^31 - 2*u^5*v^32 + 2*u^4*v^33 + u^3*v^34 - u^2*v^35 + u*v^36 - v^37 + u^38 - u^37*v + u^36*v^2 - u^35*v^3 + u^34*v^4 - u^33*v^5 + u^32*v^6 - u^31*v^7 + u^30*v^8 - u^29*v^9 + u^28*v^10 - u^27*v^11 + u^26*v^12 + 2*u^25*v^13 - 2*u^24*v^14 + 2*u^23*v^15 - 2*u^22*v^16 + 2*u^21*v^17 - 2*u^20*v^18 + 2*u^19*v^19 - 2*u^18*v^20 + 2*u^17*v^21 - 2*u^16*v^22 + 2*u^15*v^23 - 2*u^14*v^24 + 2*u^13*v^25 + u^12*v^26 - u^11*v^27 + u^10*v^28 - u^9*v^29 + u^8*v^30 - u^7*v^31 + u^6*v^32 - u^5*v^33 + u^4*v^34 - u^3*v^35 + u^2*v^36 - u*v^37 + v^38)
In [171]:
A = -2 * identity_matrix(QQ, 3 * (a + b) + 1) A[0, 0] = -(3 * (a + b) + 1) A[3 * a, 3 * a] = A[3 * (a + b), 3 * (a + b)] = -1 A[0, 3 * a] = A[3 * a, 0] = A[3 * (a + b), 0] = A[0, 3 * (a + b)] = 1 for i in (1 .. 3 * a - 1): A[i, i + 1] = A[i + 1, i] = 1 for i in (3 * a + 1 .. 3 * (a + b) - 1): A[i, i + 1] = A[i + 1, i] = 1 A.det()
Out[171]:
-1
In [172]:
show(A)
<html>\(\displaystyle \left(\begin{array}{rrrrrrrrrrrrrrrrrrr}
-19 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 0 & 0 & 0 & 0 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 \\
1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -1
\end{array}\right)\)</html>
In [173]:
Vf, Vg, Vd = [vector(QQ, 3 * (a + b) + 1) for i in (1, 2, 3)] Vf[2 * a] = Vf[3 * a + 2 * b] = 1 Vg[3 * a] = Vg[3 * (a + b)] = 1 Vd[3 * a] = Vd[3 * (a + b)] = 1 Vd[0] = 3 * (a + b) + 1 Vf, Vg, Vd
Out[173]:
((0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1), (19, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1))
In [174]:
n, Nf, Ng, Nd, Nhs, Nks, euler, nus, pols = trinomiales_general(A, Vf, Vg, (), (), Vd, total=False)
In [175]:
zetatop, zetamon, dic = zetas(n, pols, info=True)
In [176]:
zetatop.factor()
Out[176]:
(-1/12) * (s + 17/38)^-2 * (s + 101/228)^-1 * (s + 1)^-1 * (s^3 - 4771/1083*s^2 - 374405/82308*s - 29189/27436)
In [177]:
for r0, m0 in zetatop.denominator().roots(): s0 = r0.denominator() print(s0, dic[s0])
228 1 1 3 38 21
In [ ]: