Steenbrink/UnLadoZ.ipynb
2024-04-29 19:43:26 +02:00

27 KiB

In [1]:
R.<ss, a1, a2, alpha1, alpha2, alpha, nu1, nu2, t, p1, p2, cd, rt> = QQ[]
In [2]:
e1, e2, e3 = [v.change_ring(R) for v in (QQ^3).gens()]
In [3]:
V1 = vector([0, 0, 3])
V0 = vector([a1, a2, 1])
nu = vector([nu1, nu2, 1])
In [4]:
Q1 = vector([2, 0, a1]) / alpha1
Q2 = vector([0, 2, a2]) / alpha2
In [5]:
def cono3(u, v, w, vert, nu0):
    m = Matrix([u, v, w]).det()
    den = 1
    for u0 in (u, v, w):
        den *= (u0 * vert) * ss + u0 * nu0
    return m / den
In [51]:
sb = {ss: (2 * t - 1) / 3}
In [52]:
vertical = cono3(e1, e2, e3, V1, nu) - cono3(Q1, Q2, e3, V1, nu)
show(vertical.subs(sb).factor())
<html>\(\displaystyle \left(\frac{1}{2}\right) \cdot \nu_{2}^{-1} \cdot \nu_{1}^{-1} \cdot (a_{2} t + \nu_{2})^{-1} \cdot (a_{1} t + \nu_{1})^{-1} \cdot (a_{1} a_{2} t + a_{2} \nu_{1} + a_{1} \nu_{2})\)</html>
In [53]:
horizontal = cono3(Q1, Q2, e3, V0, nu)
horizontal = (horizontal.numerator() / 1) / (horizontal.denominator() / 1)
show(horizontal.subs(sb).factor())
<html>\(\displaystyle \left(\frac{3}{8}\right) \cdot 2^{2} \cdot (t + 1)^{-1} \cdot (a_{2} t + \nu_{2})^{-1} \cdot (a_{1} t + \nu_{1})^{-1}\)</html>
In [54]:
show((vertical + horizontal).subs(sb).factor())
<html>\(\displaystyle \left(\frac{1}{2}\right) \cdot (t + 1)^{-1} \cdot \nu_{2}^{-1} \cdot \nu_{1}^{-1} \cdot (a_{2} t + \nu_{2})^{-1} \cdot (a_{1} t + \nu_{1})^{-1} \cdot (a_{1} a_{2} t^{2} + a_{1} a_{2} t + a_{2} \nu_{1} t + a_{1} \nu_{2} t + a_{2} \nu_{1} + a_{1} \nu_{2} + 3 \nu_{1} \nu_{2})\)</html>
In [55]:
Matrix([Q1, Q2]).minors(2)
Out[55]:
[4/(alpha1*alpha2), 2*a2/(alpha1*alpha2), (-2*a1)/(alpha1*alpha2)]
In [56]:
mgamma = 2 * cd / alpha1 / alpha2
In [57]:
Q1 * V1, Q1 * V0, Q2 * V1, Q2 * V0, Q1 * nu
Out[57]:
(3*a1/alpha1, 3*a1/alpha1, 3*a2/alpha2, 3*a2/alpha2, (a1 + 2*nu1)/alpha1)
In [58]:
f1 = ((Q1 * V1) * ss + Q1 * nu)
f2 = ((Q2 * V1) * ss + Q2 * nu)
In [59]:
arista = mgamma * ss / (ss + 1) / f1 / f2 * cd 
show(arista.subs(sb).factor())
<html>\(\displaystyle \left(\frac{1}{4}\right) \cdot (t + 1)^{-1} \cdot (2 t - 1) \cdot \mathit{cd}^{2} \cdot (a_{2} t + \nu_{2})^{-1} \cdot (a_{1} t + \nu_{1})^{-1}\)</html>
In [60]:
prueba = horizontal - arista + vertical
# prueba.numerator().variables() + prueba.denominator().variables()
show(prueba.subs(sb).factor())
<html>\(\displaystyle \left(-\frac{1}{4}\right) \cdot (t + 1)^{-1} \cdot \nu_{2}^{-1} \cdot \nu_{1}^{-1} \cdot (a_{2} t + \nu_{2})^{-1} \cdot (a_{1} t + \nu_{1})^{-1} \cdot (2 \nu_{1} \nu_{2} t \mathit{cd}^{2} - 2 a_{1} a_{2} t^{2} - \nu_{1} \nu_{2} \mathit{cd}^{2} - 2 a_{1} a_{2} t - 2 a_{2} \nu_{1} t - 2 a_{1} \nu_{2} t - 2 a_{2} \nu_{1} - 2 a_{1} \nu_{2} - 6 \nu_{1} \nu_{2})\)</html>
In [61]:
def compara(aa1, aa2, nnu1, nnu2):
    R.<x, y, z> = QQ[]
    F = z^3 + x^aa1 * y^aa2 * z
    zt = ZetaFunctions(F).topological_zeta(local=True, weights=(nnu1, nnu2, 1))
    S = zt.parent()
    s = S.gen(0)
    aalpha1 = aa1.gcd(2)
    aalpha2 = aa2.gcd(2)
    ccd = aalpha1.gcd(aalpha2)
    pr = prueba(nu1=nnu1, nu2=nnu2, a1=aa1, a2=aa2, cd=ccd, ss=s)
    return (zt, pr)
In [62]:
zt, pr = compara(5, 7, 2, 3)
In [63]:
zt.factor()
Out[63]:
(1/18) * (s + 3/5)^-1 * (s + 13/21)^-1 * (s + 1)^-1 * (s^2 + 62/35*s + 39/35)
In [64]:
pr.factor()
Out[64]:
(1/18) * (s + 3/5)^-1 * (s + 13/21)^-1 * (s + 1)^-1 * (s^2 + 62/35*s + 39/35)
In [65]:
zt - pr
Out[65]:
0
In [66]:
zt, pr = compara(8, 4, 2, 5)
In [67]:
zt.factor()
Out[67]:
(1/30) * (s + 1/2)^-1 * (s + 1)^-1 * (s + 7/6)^-1 * (s^2 + 3/2*s + 7/4)
In [68]:
pr.factor()
Out[68]:
(1/30) * (s + 1/2)^-1 * (s + 1)^-1 * (s + 7/6)^-1 * (s^2 + 3/2*s + 7/4)
In [69]:
zt - pr
Out[69]:
0
In [70]:
zt, pr = compara(5, 0, 2, 1)
In [71]:
zt.factor()
Out[71]:
(1/10) * (s + 3/5)^-1 * (s + 1)^-1 * (s + 3)
In [72]:
pr.factor()
Out[72]:
(1/10) * (s + 3/5)^-1 * (s + 1)^-1 * (s + 3)
In [73]:
zt - pr
Out[73]:
0
In [74]:
zt, pr = compara(6, 0, 2, 1)
In [75]:
zt.factor()
Out[75]:
(-1/18) * (s + 5/9)^-1 * (s + 1)^-1 * (s - 5)
In [76]:
pr.factor()
Out[76]:
(-1/18) * (s + 5/9)^-1 * (s + 1)^-1 * (s - 5)
In [77]:
zt - pr
Out[77]:
0
In [78]:
prt = prueba.subs(sb)
show(prt.factor())
<html>\(\displaystyle \left(-\frac{1}{4}\right) \cdot (t + 1)^{-1} \cdot \nu_{2}^{-1} \cdot \nu_{1}^{-1} \cdot (a_{2} t + \nu_{2})^{-1} \cdot (a_{1} t + \nu_{1})^{-1} \cdot (2 \nu_{1} \nu_{2} t \mathit{cd}^{2} - 2 a_{1} a_{2} t^{2} - \nu_{1} \nu_{2} \mathit{cd}^{2} - 2 a_{1} a_{2} t - 2 a_{2} \nu_{1} t - 2 a_{1} \nu_{2} t - 2 a_{2} \nu_{1} - 2 a_{1} \nu_{2} - 6 \nu_{1} \nu_{2})\)</html>
In [80]:
prt1 = prt * (a2 * t + nu2) * (a1 * t + nu1) * (t + 1)
show(prt1.factor())
<html>\(\displaystyle \left(-\frac{1}{4}\right) \cdot \nu_{2}^{-1} \cdot \nu_{1}^{-1} \cdot (2 \nu_{1} \nu_{2} t \mathit{cd}^{2} - 2 a_{1} a_{2} t^{2} - \nu_{1} \nu_{2} \mathit{cd}^{2} - 2 a_{1} a_{2} t - 2 a_{2} \nu_{1} t - 2 a_{1} \nu_{2} t - 2 a_{2} \nu_{1} - 2 a_{1} \nu_{2} - 6 \nu_{1} \nu_{2})\)</html>
In [81]:
cf23 = (prt1 / (a2 * t + nu2) / (a1 * t + nu1))(t=-1)
show(cf23.factor())
<html>\(\displaystyle \left(-\frac{3}{4}\right) \cdot (a_{2} - \nu_{2})^{-1} \cdot (-a_{1} + \nu_{1})^{-1} \cdot (\mathit{cd}^{2} + 2)\)</html>
In [82]:
cf1 = (prt1 / (t + 1) / (a2 * t + nu2))(t=-nu1 / a1)
show(cf1.factor())
<html>\(\displaystyle \left(\frac{1}{4}\right) \cdot \nu_{1}^{-1} \cdot (a_{1} - \nu_{1})^{-1} \cdot a_{1} \cdot (a_{1} + 2 \nu_{1}) \cdot (-a_{2} \nu_{1} + a_{1} \nu_{2})^{-1} \cdot (\nu_{1} \mathit{cd}^{2} + 2 a_{1})\)</html>
In [83]:
cf2 = (prt1 / (t + 1) / (a1 * t + nu1))(t=-nu2 / a2)
show(cf2.factor())
<html>\(\displaystyle \left(\frac{1}{4}\right) \cdot \nu_{2}^{-1} \cdot (a_{2} - \nu_{2})^{-1} \cdot a_{2} \cdot (a_{2} + 2 \nu_{2}) \cdot (a_{2} \nu_{1} - a_{1} \nu_{2})^{-1} \cdot (\nu_{2} \mathit{cd}^{2} + 2 a_{2})\)</html>
In [84]:
(cf23 / (t + 1) + cf1 / (a1 * t + nu1) + cf2 / (a2 * t + nu2) - prt)
Out[84]:
0
In [85]:
cf23(a2=0, nu2=1) / (t + 1) + cf1(a2=0, nu2=1) / (a1 * t + nu1) - prt(a2=0, nu2=1)
Out[85]:
0
In [86]:
show(cf23(a2=0, nu2=1).factor())
<html>\(\displaystyle \left(-\frac{3}{4}\right) \cdot (a_{1} - \nu_{1})^{-1} \cdot (\mathit{cd}^{2} + 2)\)</html>
In [87]:
show(cf1(a2=0, nu2=1).factor())
<html>\(\displaystyle \left(\frac{1}{4}\right) \cdot \nu_{1}^{-1} \cdot (a_{1} - \nu_{1})^{-1} \cdot (a_{1} + 2 \nu_{1}) \cdot (\nu_{1} \mathit{cd}^{2} + 2 a_{1})\)</html>
In [88]:
prta = prt(a2=rt * a1, nu2=rt * nu1)
show(prta.factor())
<html>\(\displaystyle \left(-\frac{1}{4}\right) \cdot \nu_{1}^{-2} \cdot \mathit{rt}^{-1} \cdot (t + 1)^{-1} \cdot (a_{1} t + \nu_{1})^{-2} \cdot (2 \nu_{1}^{2} t \mathit{cd}^{2} - 2 a_{1}^{2} t^{2} - \nu_{1}^{2} \mathit{cd}^{2} - 2 a_{1}^{2} t - 4 a_{1} \nu_{1} t - 4 a_{1} \nu_{1} - 6 \nu_{1}^{2})\)</html>
In [89]:
cf23a = cf23(a2=rt * a1, nu2=rt * nu1)
show(cf23a.factor())
<html>\(\displaystyle \left(\frac{3}{4}\right) \cdot (a_{1} - \nu_{1})^{-2} \cdot \mathit{rt}^{-1} \cdot (\mathit{cd}^{2} + 2)\)</html>
In [90]:
prtb = prta - cf23a / (t + 1)
In [91]:
cf1a = (prtb * (a1 * t + nu1)^2)(t=-nu1 / a1)
show(cf1a.factor())
prtc = prtb - cf1a / (a1 * t + nu1)^2
cf2a = prtc * (a1 * t + nu1)
show(cf2a.factor())
<html>\(\displaystyle \left(\frac{1}{4}\right) \cdot \mathit{rt}^{-1} \cdot \nu_{1}^{-1} \cdot (a_{1} - \nu_{1})^{-1} \cdot (a_{1} + 2 \nu_{1}) \cdot (\nu_{1} \mathit{cd}^{2} + 2 a_{1})\)</html>
<html>\(\displaystyle \left(-\frac{1}{4}\right) \cdot \nu_{1}^{-2} \cdot (a_{1} - \nu_{1})^{-2} \cdot \mathit{rt}^{-1} \cdot a_{1} \cdot (3 \nu_{1}^{2} \mathit{cd}^{2} - 2 a_{1}^{2} + 4 a_{1} \nu_{1} + 4 \nu_{1}^{2})\)</html>
In [93]:
(cf23a / (t + 1) + cf1a / (a1 * t + nu1)^2 + cf2a / (a1 * t + nu1) - prta)
Out[93]:
0
In [ ]: