Steenbrink/RamaTangente13.ipynb

5.6 KiB

In [65]:
S0 = PolynomialRing(QQ, 'a', 12)
S0.inject_variables(verbose=False)
R.<x, y> = S0[]
def fct(p):
    RF = PolynomialRing(QQ, S0.gens() + R.gens())
    p1 = sum(RF(a0) * RF(b0) for a0, b0 in p)
    fc = p1.factor()
    unidad = fc.unit()
    fcts = [(R(p0), m) for p0, m in fc]
    return (unidad, fcts)
In [66]:
f = (y^4 - x^6 + a0 * x^2 * y^3) * (x^4 - y^6 + a1 * x^3 * y^2)
g = (y^6 + x^7 + a2 * x^6 * y + a4 * x^5 * y^2 + a6 * x^4 * y^3 + a8 * x^3 * y^4 + a10 * x * y^6) * (x^6 + y^7 + a3 * x * y^6 + a5 * x^2 * y^5 + a7 * x^3 * y^4 + a9 * x^4 * y^3 + a11 * x^6 * y)
p = f^3 - g^2
In [67]:
Z = ZetaFunctions(p)
u = [fct(q) for q in Z.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]
u
Out[67]:
[(-1, [(x, 19), (x^7 + 2*y^6, 1)]),
 (-1, [(y, 19), (y^7 + 2*x^6, 1)]),
 (-1,
  [(y, 6),
   (x, 6),
   (2*x^13 + 2*a2*x^12*y + 2*a4*x^11*y^2 + 2*a6*x^10*y^3 + 2*a8*x^9*y^4 + (-3*a0)*x^8*y^5 + 2*a10*x^7*y^6 + 2*a11*x^6*y^7 + (-3*a1)*x^5*y^8 + 2*a9*x^4*y^9 + 2*a7*x^3*y^10 + 2*a5*x^2*y^11 + 2*a3*x*y^12 + 2*y^13,
    1)])]
In [68]:
q = 2*x^13 + 2*a2*x^12*y + 2*a4*x^11*y^2 + 2*a6*x^10*y^3 + 2*a8*x^9*y^4 + (-3*a0)*x^8*y^5 + 2*a10*x^7*y^6 + 2*a11*x^6*y^7 + (-3*a1)*x^5*y^8 + 2*a9*x^4*y^9 + 2*a7*x^3*y^10 + 2*a5*x^2*y^11 + 2*a3*x*y^12 + 2*y^13 - 2 * (x + y)^13
q
Out[68]:
(2*a2 - 26)*x^12*y + (2*a4 - 156)*x^11*y^2 + (2*a6 - 572)*x^10*y^3 + (2*a8 - 1430)*x^9*y^4 + (-3*a0 - 2574)*x^8*y^5 + (2*a10 - 3432)*x^7*y^6 + (2*a11 - 3432)*x^6*y^7 + (-3*a1 - 2574)*x^5*y^8 + (2*a9 - 1430)*x^4*y^9 + (2*a7 - 572)*x^3*y^10 + (2*a5 - 156)*x^2*y^11 + (2*a3 - 26)*x*y^12
In [69]:
J = S0.ideal(q.coefficients())
In [75]:
G.factor()
Out[75]:
(1716*x^6*y + 715*x^4*y^3 + 286*x^3*y^4 + 78*x^2*y^5 + 13*x*y^6 + y^7 + x^6) * (x^7 + 13*x^6*y + 78*x^5*y^2 + 286*x^4*y^3 + 715*x^3*y^4 + 1716*x*y^6 + y^6)
In [74]:
F = f.map_coefficients(lambda u: u.reduce(J)).change_ring(QQ)
G = g.map_coefficients(lambda u: u.reduce(J)).change_ring(QQ)
P = F^3 - G^2
Z = ZetaFunctions(P)
u = [q.factor() for q in Z.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]
u
Out[74]:
[(-1) * x^19 * (x^7 + 2*y^6),
 (-1) * y^19 * (y^7 + 2*x^6),
 (-2) * y^6 * x^6 * (x + y)^13]
In [76]:
RQ = R.change_ring(QQ)
RQ.inject_variables()
Defining x, y
In [78]:
P1 = RQ(P(y=x*(y - 1)) / x^25)
Z = ZetaFunctions(P1)
u = [q.factor() for q in Z.get_polyfaces_dictionary(compact=True) if q.number_of_terms() > 1]
u
Out[78]:
[(-2) * (y^13 - 3784272*x)]
In [ ]: