Steenbrink/Untitled.ipynb
2024-02-14 15:00:57 +01:00

93 KiB

In [47]:
load('../Descargas/ZetaFunctionsNewtonND.py')
R.<x,y,z> = QQ[]
S.<u,v> = QQ[]
T.<t> = QQ[]
F = z^3 + 3 * (y^2 - x^3 + y^3) * z^2 + 3 * ((y^2 - x^3)^2 + x^2 * y^3 + x^7) * z + ((y^2 - x^3)^3 + x^2 * y^5) 
In [2]:
Z = ZetaFunctions(F)
In [3]:
Z.is_newton_degenerated()
Out[3]:
True
In [4]:
F1 = F(z=z - y^2 + x^3 - y^3)
F1.coefficient({z:2})
Out[4]:
0
In [6]:
Z = ZetaFunctions(F1)
# Z.is_newton_degenerated()
In [7]:
f1, f2 = [F1.coefficient({z: j})(x=u, y=v) for j in (1, 0)]
In [8]:
f1.newton_polytope()
Out[8]:
No description has been provided for this image
In [11]:
Z1 = ZetaFunctions(f1)
Z1.is_newton_degenerated()
Out[11]:
False
In [12]:
f2.newton_polytope()
Out[12]:
No description has been provided for this image
In [13]:
Z2 = ZetaFunctions(f2)
Z2.is_newton_degenerated()
Out[13]:
False
In [18]:
Z.give_info_newton(compact=True)
Newton's polyhedron of 3*x^10 - 3*x^7*y^3 - 3*x^7*y^2 + 3*x^6*y^3 - 6*x^3*y^6 + 2*y^9 + 3*x^5*y^3 - 6*x^3*y^5 - 3*x^2*y^6 + 6*y^8 + 3*x^7*z - 2*x^2*y^5 + 3*y^7 + 6*x^3*y^3*z - 3*y^6*z + 3*x^2*y^3*z - 6*y^5*z + z^3:
    support points = [(10, 0, 0), (7, 3, 0), (7, 2, 0), (6, 3, 0), (3, 6, 0), (0, 9, 0), (5, 3, 0), (3, 5, 0), (2, 6, 0), (0, 8, 0), (7, 0, 1), (2, 5, 0), (0, 7, 0), (3, 3, 1), (0, 6, 1), (2, 3, 1), (0, 5, 1), (0, 0, 3)]
    vertices = [(0, 0, 3), (10, 0, 0), (0, 7, 0), (5, 3, 0), (2, 5, 0)]
    number of compact faces = 15
    Facet 0: 3*x + 5*y + 10*z - 30 >= 0
    Facet 1: 3*x + 3*y + 7*z - 21 >= 0
    Facet 3: 6*x + 9*y + 19*z - 57 >= 0
In [15]:
J = F.jacobian_ideal() + R.ideal(F)
J.minimal_associated_primes()
Out[15]:
[Ideal (z, y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]
In [32]:
A = list(Z.get_polyfaces_dictionary(compact=True).keys())
A = [p for p in A if p.number_of_terms() > 2]
[p.jacobian_ideal().minimal_associated_primes() for p in A]
Out[32]:
[[Ideal (z, x) of Multivariate Polynomial Ring in x, y, z over Rational Field],
 [Ideal (z, y) of Multivariate Polynomial Ring in x, y, z over Rational Field],
 [Ideal (z, y) of Multivariate Polynomial Ring in x, y, z over Rational Field,
  Ideal (z, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]]
In [48]:
F = z^3 + 3 * ((y^2 - x^3)^2 + x^2 * y^3 ) * z + 2 * ((y^2 - x^3)^3 + x^2 * y^5) 
In [49]:
J = F.jacobian_ideal() + R.ideal(F)
J.minimal_associated_primes()
Out[49]:
[Ideal (z, y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]
In [50]:
Z = ZetaFunctions(F)
Z.is_newton_degenerated(local=True)
Out[50]:
True
In [92]:
A = list(Z.get_polyfaces_dictionary(compact=True).keys())
[p.factor() for p in A if p.number_of_terms() > 2]
Out[92]:
[-2*x^9 + 3*x^6*z + z^3,
 2*y^6 + 3*y^4*z + z^3,
 (2) * (-x^3 + y^2)^3,
 -2*x^9 + 6*x^6*y^2 - 6*x^3*y^4 + 3*x^6*z + 2*y^6 - 6*x^3*y^2*z + 3*y^4*z + z^3]
In [51]:
Z.give_info_newton(compact=True)
Newton's polyhedron of -2*x^9 + 6*x^6*y^2 - 6*x^3*y^4 + 2*x^2*y^5 + 3*x^6*z + 2*y^6 - 6*x^3*y^2*z + 3*x^2*y^3*z + 3*y^4*z + z^3:
    support points = [(9, 0, 0), (6, 2, 0), (3, 4, 0), (2, 5, 0), (6, 0, 1), (0, 6, 0), (3, 2, 1), (2, 3, 1), (0, 4, 1), (0, 0, 3)]
    vertices = [(0, 0, 3), (9, 0, 0), (0, 6, 0)]
    number of compact faces = 7
    Facet 3: 2*x + 3*y + 6*z - 18 >= 0
In [52]:
dis = F.discriminant(z)(x=u, y=v)
In [54]:
sum(dis.monomial_coefficient(u^(3 * j) * v^(2 * (6 - j))) * t^j for j in (0 .. 6)).factor()
Out[54]:
(-216) * (t - 1)^6
In [59]:
dis1 = S(dis(u=(u + 1) * v^2, v=(u + 1) * v^3) / v^36 / (u + 1)^12)
dis1.newton_polytope()
Out[59]:
No description has been provided for this image
In [60]:
sum(dis1.monomial_coefficient(u^(3 * j) * v^(1 * (2 - j))) * t^j for j in (0 .. 2)).factor()
Out[60]:
(-216) * (t^2 - t + 1/2)
In [70]:
G1 = F(x=x * y)
In [73]:
[G1.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[73]:
[1,
 (3) * v^4 * (u^6*v^2 - 2*u^3*v + u^2*v + 1),
 (-2) * v^6 * (u^9*v^3 - 3*u^6*v^2 + 3*u^3*v - u^2*v - 1)]
In [78]:
(t-1)^2*(t+2), (t+1)^2*(t-2)
Out[78]:
(t^3 - 3*t + 2, t^3 - 3*t - 2)
In [76]:
ZG1 = ZetaFunctions(G1)
ZG1.is_newton_degenerated()
Out[76]:
False
In [77]:
G2 = F(y=x^2 * y)
[G2.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[77]:
[1,
 (3) * u^6 * (u^2*v^4 + u^2*v^3 - 2*u*v^2 + 1),
 (2) * u^9 * (u^3*v^6 + u^3*v^5 - 3*u^2*v^4 + 3*u*v^2 - 1)]
In [81]:
G2a = F(y=x * y)(x=x * y)
In [82]:
G3a = G2a(x=x * y)
[G3a.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[82]:
[1,
 (3) * u^4 * v^12 * (u^2 + u*v - 2*u + 1),
 (2) * u^6 * v^18 * (-u^3 + 3*u^2 + u*v - 3*u + 1)]
In [84]:
G3b = G2a(y=x * y)
[G3b.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[84]:
[1,
 (3) * v^6 * u^12 * (u*v^2 + v^2 - 2*v + 1),
 (2) * v^9 * u^18 * (u*v^3 + v^3 - 3*v^2 + 3*v - 1)]
In [95]:
G3c = G2a(x=(x + 1) * y)
[G3c.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[95]:
[1,
 (3) * (u + 1)^4 * v^12 * (u^2 + u*v + v),
 (2) * (u + 1)^6 * v^18 * (-u^3 + u*v + v)]
In [96]:
G4 = G3c(x=x * y)
[G4.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[96]:
[1,
 (3) * v^13 * (u*v + 1)^4 * (u^2*v + u*v + 1),
 (-2) * v^19 * (u*v + 1)^6 * (u^3*v^2 - u*v - 1)]
In [97]:
G5 = G3c(y=x * y)(x=x * y)
[G5.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[97]:
[1,
 (3) * u^13 * v^26 * (u*v + u + 1) * (u*v + 1)^4,
 (-2) * u^19 * v^38 * (u*v + 1)^6 * (u^2*v - u*v - 1)]
In [98]:
G6 = G3c(y=x^3 * y)
[G6.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[98]:
[1,
 (3) * (u + 1)^4 * v^12 * u^38 * (u^2*v + u*v + 1),
 (2) * (u + 1)^6 * v^18 * u^57 * (u*v + v - 1)]
In [99]:
G7 = G6(y=y + 1)
[G7.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[99]:
[1,
 (3) * (u + 1)^4 * (v + 1)^12 * u^38 * (u^2*v + u^2 + u*v + u + 1),
 (2) * (u + 1)^6 * (v + 1)^18 * u^57 * (u*v + u + v)]
In [ ]:
 
In [ ]:
 
In [102]:
F = z^3 - 3 * ((y^2 - x^3)^2 + x^2 * y^3 + x^7 + y^5 ) * z + 2 * ((y^2 - x^3)^3 + x^2 * y^5) 
In [103]:
J = F.jacobian_ideal() + R.ideal(F)
J.minimal_associated_primes()
Out[103]:
[Ideal (z, y, x) of Multivariate Polynomial Ring in x, y, z over Rational Field]
In [104]:
Z = ZetaFunctions(F)
Z.is_newton_degenerated(local=True)
Out[104]:
True
In [105]:
A = list(Z.get_polyfaces_dictionary(compact=True).keys())
[p.factor() for p in A if p.number_of_terms() > 2]
Out[105]:
[(-2*x^3 + z) * (x^3 + z)^2,
 (2*y^2 + z) * (-y^2 + z)^2,
 (2) * (-x^3 + y^2)^3,
 (-2*x^3 + 2*y^2 + z) * (x^3 - y^2 + z)^2]
In [106]:
Z.give_info_newton(compact=True)
Newton's polyhedron of -2*x^9 + 6*x^6*y^2 - 3*x^7*z - 6*x^3*y^4 + 2*x^2*y^5 - 3*x^6*z + 2*y^6 + 6*x^3*y^2*z - 3*x^2*y^3*z - 3*y^5*z - 3*y^4*z + z^3:
    support points = [(9, 0, 0), (6, 2, 0), (7, 0, 1), (3, 4, 0), (2, 5, 0), (6, 0, 1), (0, 6, 0), (3, 2, 1), (2, 3, 1), (0, 5, 1), (0, 4, 1), (0, 0, 3)]
    vertices = [(0, 0, 3), (9, 0, 0), (0, 6, 0)]
    number of compact faces = 7
    Facet 1: 2*x + 3*y + 6*z - 18 >= 0
In [109]:
G1 = F(x=x * y)
In [123]:
ZG1 = ZetaFunctions(G1)
A = list(ZG1.get_polyfaces_dictionary(compact=True).keys())
[p.factor() for p in A if p.number_of_terms() > 2]
Out[123]:
[(2*y^2 + z) * (-y^2 + z)^2]
In [124]:
[G1.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[124]:
[1,
 (-3) * v^4 * (u^7*v^3 + u^6*v^2 - 2*u^3*v + u^2*v + v + 1),
 (-2) * v^6 * (u^9*v^3 - 3*u^6*v^2 + 3*u^3*v - u^2*v - 1)]
In [125]:
H1 = G1(z=z + y^2) 
In [126]:
ZH1 = ZetaFunctions(H1)
# ZH1.is_newton_degenerated()
In [127]:
A = list(ZH1.get_polyfaces_dictionary(compact=True).keys())
[p.factor() for p in A if p.number_of_terms() > 2]
Out[127]:
[]
In [129]:
ZH1.give_info_newton(compact=True)
Newton's polyhedron of -2*x^9*y^9 - 3*x^7*y^9 - 3*x^7*y^7*z + 3*x^6*y^8 - 3*x^6*y^6*z - x^2*y^7 + 6*x^3*y^5*z - 3*x^2*y^5*z - 3*y^7 - 3*y^5*z + 3*y^2*z^2 + z^3:
    support points = [(9, 9, 0), (7, 9, 0), (7, 7, 1), (6, 8, 0), (6, 6, 1), (2, 7, 0), (3, 5, 1), (2, 5, 1), (0, 7, 0), (0, 5, 1), (0, 2, 2), (0, 0, 3)]
    vertices = [(0, 0, 3), (0, 2, 2), (0, 7, 0)]
    number of compact faces = 5
In [130]:
G1a = F(y=x * y)
In [132]:
G2 = G1a(y=x * y)
[G2.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[132]:
[1,
 (-3) * u^6 * (u^4*v^5 + u^2*v^4 + u^2*v^3 - 2*u*v^2 + u + 1),
 (2) * u^9 * (u^3*v^6 + u^3*v^5 - 3*u^2*v^4 + 3*u*v^2 - 1)]
In [133]:
H2 = G2(z=z - x^3) 
ZH2 = ZetaFunctions(H2)
A = list(ZH2.get_polyfaces_dictionary(compact=True).keys())
[p.factor() for p in A if p.number_of_terms() > 2]
Out[133]:
[]
In [134]:
G2a = G1a(x=x * y)
In [141]:
G3 = G2a(x=x * y)
[G3.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[141]:
[1,
 (-3) * u^4 * v^12 * (u^3*v^2 + u*v^3 + u^2 + u*v - 2*u + 1),
 (2) * u^6 * v^18 * (-u^3 + 3*u^2 + u*v - 3*u + 1)]
In [154]:
H3 = G3(z=z + x^2 * y^6 - x^3 * y^6) 
In [155]:
H3.monomial_coefficient(z^2 * x^2 * y^6)
Out[155]:
3
In [156]:
ZH3 = ZetaFunctions(H3)
A = list(ZH3.get_polyfaces_dictionary(compact=True).keys())
[p.factor() for p in A if p.number_of_terms() > 2]
Out[156]:
[]
In [138]:
G4 = G2a(y=x * y)
[G4.coefficient({z: j})(x=u, y=v).factor() for j in (3, 1, 0)]
Out[138]:
[1,
 (-3) * v^6 * u^12 * (u^3*v^4 + u^2*v + u*v^2 + v^2 - 2*v + 1),
 (2) * v^9 * u^18 * (u*v^3 + v^3 - 3*v^2 + 3*v - 1)]
In [160]:
H4 = G4(z=z - x^6 * y^3 + x^6 * y^4) 
ZH4 = ZetaFunctions(H4)
A = list(ZH4.get_polyfaces_dictionary(compact=True).keys())
[p.factor() for p in A if p.number_of_terms() > 2]
Out[160]:
[(-3) * y^3 * x^6 * (-x^14*y^7 - x^13*y^8 + z^2)]
In [ ]: