Steenbrink/Estratos.ipynb

38 KiB

In [18]:
T.<t> = QQ[]
S.<x, y, z> = PolynomialRing(QQ, order='neglex')
R.<u, v> = PolynomialRing(QQ, order='neglex')
f = u^2 * v^2 + u^5 + v^5
g = u^3 * v^3 + u^7 + v^7
F = z^3 - 3 * f(u=x, v=y) * z + 2 * g(u=x, v=y)
In [19]:
F.jacobian_ideal().minimal_associated_primes()
Out[19]:
[Ideal (z, y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]
In [23]:
h = f^3 - g^2
F.discriminant(z)(x=u, y=v) - 108 * h
Out[23]:
0
In [22]:
F.jacobian_ideal().vector_space_dimension()
Out[22]:
65
In [24]:
h.jacobian_ideal().vector_space_dimension()
Out[24]:
148
In [27]:
load('/home/artal/Descargas/ZetaFunctionsNewtonND.py')
In [28]:
Z = ZetaFunctions(h)
In [47]:
[p.factor() for p in Z.get_polyfaces_dictionary(compact=True)]
Out[47]:
[(-1) * v^14,
 (-1) * u^14,
 (-2) * u^3 * v^10,
 (-2) * v^3 * u^10,
 (-1) * v^10 * (v^4 + 2*u^3),
 (-1) * u^10 * (2*v^3 + u^4),
 (-1) * (v + u) * u^3 * v^3 * (2*v^6 - 5*u*v^5 + 5*u^2*v^4 - 5*u^3*v^3 + 5*u^4*v^2 - 5*u^5*v + 2*u^6)]
In [46]:
Z.is_newton_degenerated(local=True)
Out[46]:
False
In [38]:
Z.newton_plot()
Out[38]:
No description has been provided for this image
In [49]:
Z.give_info_facets(compact=True)
    Facet 0: -42 + 4*v + 3*u >= 0
    Facet 1: -13 + v + u >= 0
    Facet 3: -42 + 3*v + 4*u >= 0
In [43]:
h1 = sum(h.monomial_coefficient(u^i * v^j) * u^i * v^j for i, j in h.exponents() if (i, j) == (14, 0) or (i, j) == (0, 14) or i + j == 13)
h1
Out[43]:
-v^14 - 2*u^3*v^10 + 3*u^4*v^9 + 3*u^9*v^4 - 2*u^10*v^3 - u^14
In [44]:
h1.jacobian_ideal().vector_space_dimension()
Out[44]:
148
In [50]:
h
Out[50]:
-v^14 + v^15 + 3*u^2*v^12 - 2*u^3*v^10 + 3*u^4*v^9 + 3*u^5*v^10 + 4*u^7*v^7 + 3*u^9*v^4 - 2*u^10*v^3 + 3*u^10*v^5 + 3*u^12*v^2 - u^14 + u^15
In [68]:
def estrato(ff, chi, pesos):
    Z1 = ZetaFunctions(ff)
    zetamon1 = Z1.monodromy_zeta().value()^chi
    zetatop1 = chi * Z1.topological_zeta(local=True, weights=pesos).value()
    return zetamon1, zetatop1
In [147]:
zetatop=0
zetamon=1

$\check{E}_1$

In [148]:
zetamon1, zetatop1 = estrato(z^3 + x^2 * z^2 + x^7, -7, [2, 1, 1])
zetamon *= zetamon1
zetatop += zetatop1
zetamon1.factor(), zetatop1.denominator().factor()
Out[148]:
((t + 1)^14 * (t^2 - t + 1)^7 * (t^6 - t^5 + t^4 - t^3 + t^2 - t + 1)^7,
 (s + 9/14) * (s + 1))

${E}_1\cap E_{4,i}$

In [149]:
zetamon14, zetatop14 = estrato(z^3 + x^2 * y^7 * z^2 + x^7 * y^21, 2, [2, 7, 1])
zetamon *= zetamon14
zetatop += zetatop14
zetamon14.factor(), zetatop14.denominator().factor()
Out[149]:
((t - 1)^2 * (t^2 + t + 1)^2, (s + 9/14) * (s + 2/3) * (s + 1))

${E}_1\cap\Delta$

In [150]:
zetamon1d, zetatop1d = estrato(z^3 + x^2 * z^2 + x^7 * y, 7, [2, 1, 1])
zetamon *= zetamon1d
zetatop += zetatop1d
zetamon1d.factor(), zetatop1d.denominator().factor()
Out[150]:
((t + 1)^-7 * (t^2 - t + 1)^-7, (s + 9/14) * (s + 1))
In [156]:
zetamone1= zetamon1*zetamon14*zetamon1d
zetatope1= zetatop1 + zetatop14 + zetatop1d
In [157]:
zetamone1.factor(), zetatope1.denominator().factor()
Out[157]:
((t - 1)^2 * (t + 1)^7 * (t^2 + t + 1)^2 * (t^6 - t^5 + t^4 - t^3 + t^2 - t + 1)^7,
 (s + 9/14) * (s + 2/3) * (s + 1))

$\check{E}_{2,i}$

In [153]:
zetamon2, zetatop2 = estrato(z^3 + x^5 * z + x^7, 2, [3, 1, 1])
zetamon *= zetamon2
zetatop += zetatop2
zetamon2.factor(), zetatop2.denominator().factor()
Out[153]:
((t - 1)^2 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^-2,
 (s + 16/21) * (s + 1))
In [154]:
cyclotomic_polynomial(21)
Out[154]:
x^12 - x^11 + x^9 - x^8 + x^6 - x^4 + x^3 - x + 1

${E}_{2,i}\cap E_{3,i}$

In [155]:
zetamon23, zetatop23= estrato(z^3 + x^5 * y^10 * z + x^7 * y^14, 2, [3, 5, 1])
zetamon *= zetamon23
zetatop += zetatop23
zetamon23.factor(), zetatop23.denominator().factor()
Out[155]:
((t - 1)^2 * (t^2 + t + 1)^2, (s + 29/42) * (s + 16/21) * (s + 1))
In [158]:
zetamone2= zetamon2*zetamon23
zetatope2= zetatop2 + zetatop23
In [159]:
zetamone2.factor(), zetatope2.denominator().factor()
Out[159]:
((t - 1)^4 * (t^2 + t + 1)^2 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^-2,
 (s + 29/42) * (s + 1))

$\check{E}_{3,i}$

In [160]:
zetamon3, zetatop3 = estrato(z^3 + x^10 * z + x^14, -2, [5, 1, 1])
zetamon *= zetamon3
zetatop += zetatop3
zetamon3.factor(), zetatop3.denominator().factor()
Out[160]:
((t - 1)^-2 * (t^2 - t + 1)^2 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^2 * (t^12 + t^11 - t^9 - t^8 + t^6 - t^4 - t^3 + t + 1)^2,
 (s + 29/42) * (s + 1))
In [161]:
cyclotomic_polynomial(42)
Out[161]:
x^12 + x^11 - x^9 - x^8 + x^6 - x^4 - x^3 + x + 1

${E}_{3,i}\cap E_{4,i}$

In [162]:
zetamon34, zetatop34 = estrato(z^3 + x^14 * y^10 * z + x^21 * y^14, 2, [7, 5, 1])
zetamon *= zetamon34
zetatop += zetatop34
zetamon34.factor(), zetatop34.denominator().factor()
Out[162]:
((t - 1)^2 * (t^2 + t + 1)^2, (s + 2/3) * (s + 29/42) * (s + 1))

${E}_{3,i}\cap f$

In [163]:
zetamon3f, zetatop3f = estrato(z^3 + x * y^10 * z + y^14, 2, [1, 5, 1])
zetamon *= zetamon3f
zetatop += zetatop3f
zetamon3f.factor(), zetatop3f.denominator().factor()
Out[163]:
((t - 1)^2 * (t^2 - t + 1)^-2 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^-2 * (t^12 + t^11 - t^9 - t^8 + t^6 - t^4 - t^3 + t + 1)^-2,
 (s + 29/42) * (s + 1))
In [164]:
zetamone23= zetamone2 * zetamon3 * zetamon34 * zetamon3f
zetatope23= zetatope2 + zetatop3 + zetatop34 + zetatop3f
In [165]:
zetamone23.factor(), zetatope23.denominator().factor()
Out[165]:
((t - 1)^6 * (t^2 + t + 1)^4 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^-2,
 (s + 2/3) * (s + 1))

$\check{E}_{4,i}$

In [166]:
zetamon4, zetatop4 = estrato(z^3 + x^14 * z + x^21, -4, [7, 1, 1])
zetamon *= zetamon4
zetatop += zetatop4
zetamon4.factor(), zetatop4.denominator().factor()
Out[166]:
((t - 1)^4 * (t^2 + t + 1)^4 * (t^6 + t^5 + t^4 + t^3 + t^2 + t + 1)^8 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^8,
 (s + 2/3) * (s + 1))

${E}_{4,i}\cap g$

In [167]:
zetamon4g, zetatop4g = estrato(z^3 + x^14 * z + x^21 * y, 2, [7, 1, 1])
zetamon *= zetamon4g
zetatop += zetatop4g
zetamon4g.factor(), zetatop4g.denominator().factor()
Out[167]:
((t - 1)^-2 * (t^2 + t + 1)^-2 * (t^6 + t^5 + t^4 + t^3 + t^2 + t + 1)^-4 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^-4,
 (s + 2/3) * (s + 1))

${E}_4\cap\Delta$

In [168]:
zetamon4d, zetatop4d = estrato(z^3 + x^7 * z^2 + x^21 * y, 2, [7, 1, 1])
zetamon *= zetamon4d
zetatop += zetatop4d
zetamon4d.factor(), zetatop4d.denominator().factor()
Out[168]:
((t^6 + t^5 + t^4 + t^3 + t^2 + t + 1)^-2 * (t^12 - t^11 + t^9 - t^8 + t^6 - t^4 + t^3 - t + 1)^-2,
 (s + 2/3) * (s + 1))
In [172]:
zetamone4= zetamone23 * zetamon4 * zetamon4g * zetamon4d * zetamon14
zetatope4= zetatope23 + zetatop4 + zetatop4g + zetatop4d + zetatop14
In [173]:
zetamone4.factor(), zetatope4.denominator().factor()
Out[173]:
((t - 1)^10 * (t^2 + t + 1)^8 * (t^6 + t^5 + t^4 + t^3 + t^2 + t + 1)^2,
 (s + 9/14) * (s + 2/3) * (s + 1))
In [143]:
zetamon /= (t^3 - 1)^7
In [144]:
zetamon
Out[144]:
t^66 - t^63 + 5*t^59 - 5*t^56 + 8*t^52 - 8*t^49 - 14*t^38 + 14*t^35 - 14*t^31 + 14*t^28 + 8*t^17 - 8*t^14 + 5*t^10 - 5*t^7 + t^3 - 1
In [145]:
zetatop.denominator().factor()
Out[145]:
(s + 9/14) * (s + 2/3) * (s + 1)
In [146]:
zetamon.factor()
Out[146]:
(t - 1)^3 * (t + 1)^7 * (t^2 + t + 1) * (t^6 + t^5 + t^4 + t^3 + t^2 + t + 1)^2 * (t^6 - t^5 + t^4 - t^3 + t^2 - t + 1)^7
In [175]:
zetamon4 * zetamon4g^2
Out[175]:
1
In [176]:
zetamon3 * zetamon3f
Out[176]:
1
In [180]:
zetatope23.factor()
Out[180]:
(10/21) * (s + 2/3)^-1 * (s + 1)^-1 * (s + 6/5)
In [181]:
zetatope4.factor()
Out[181]:
(13/21) * (s + 9/14)^-1 * (s + 2/3)^-1 * (s + 1)^-1 * (s^2 + 43/26*s + 9/13)
In [ ]: