@@ -900,14 +900,18 @@ def hodge_polygon_vertices(self):
900
900
lst .append ((lst [- 1 ][0 ] + hn [i ], lst [- 1 ][1 ] + i * hn [i ]))
901
901
return lst
902
902
903
- def E_polynomial (self ):
903
+ def E_polynomial (self , vars = None ):
904
904
"""
905
905
Return the E-polynomial of ``self``.
906
906
907
907
This is a bivariate polynomial.
908
908
909
909
The algorithm is taken from [FRV2019]_.
910
910
911
+ INPUT:
912
+
913
+ - ``vars`` -- optional pair of variables (default `u,v`)
914
+
911
915
REFERENCES:
912
916
913
917
.. [FRV2019] Fernando Rodriguez Villegas, *Mixed Hodge numbers
@@ -920,6 +924,10 @@ def E_polynomial(self):
920
924
sage: H.E_polynomial()
921
925
8*u*v + 7*u + 7*v + 8
922
926
927
+ sage: p, q = polygens(QQ,'p,q')
928
+ sage: H.E_polynomial((p, q))
929
+ 8*p*q + 7*p + 7*q + 8
930
+
923
931
sage: H = HypergeometricData(gamma_list=(-11, -2, 1, 3, 4, 5))
924
932
sage: H.E_polynomial()
925
933
5*u^2*v + 5*u*v^2 + u*v + 1
@@ -942,7 +950,10 @@ def E_polynomial(self):
942
950
m_minus = {d : len ([1 for g in gamma_minus if not g % d ])
943
951
for d in domain }
944
952
945
- u , v = polygens (ZZ , 'u,v' )
953
+ if vars is None :
954
+ u , v = polygens (ZZ , 'u,v' )
955
+ else :
956
+ u , v = vars
946
957
uqv = u / v
947
958
uv = u * v
948
959
0 commit comments