{{{id=111| reset() /// }}} {{{id=127| load(DIR + '/ZetaFunctions59Final.sage') /// }}} {{{id=114| ZetaFunctions? ///
File: /home/srj/sage-5.9-linux-64bit-ubuntu_10.04.4_lts-x86_64-Linux/local/lib/python2.7/site-packages/sage/all_notebook.py
Type: <type ‘type’>
Definition: ZetaFunctions( [noargspec] )
Docstring:
Class Zetafunctions takes a multivariate polynomial as argument for calculate their associated (local) Igusa and Topological zeta functions. This class allows us to get information about: the associated Newton’s polyhedron, their faces, the associated cones,...
This class is composed by a multivariate polynomial f of degree n with non-constant term and his associated Newton’s polyhedron \Gamma(f).
Methods in ZetaFunctions:
- give_info_facets(self)
- give_info_newton(self, faces = False, cones = False)
- newton_plot(self)
- cones_plot(self)
- give_expected_pole_info(self,d = 1, local = False, weights = None)
- igusa_zeta(self, p = None, dict_Ntau = {}, local = False, weights = None, info = False, check = ‘ideals’)
- topological_zeta(self, d = 1, local = False, weights = None, info = False, check = ‘ideals’)
- monodromy_zeta(self, weights = None, char = False, info = False)
Warning
These formulas for the Igusa and Topological zeta functions only work when the given polynomial is NOT DEGENERATED with respect to his associated Newton Polyhedron (see [DenHoo], [DenLoe] and [Var]).
EXAMPLES:
sage: R.<x,y,z> = QQ[] sage: zex = ZetaFunctions(x^2 + y*z) sage: zex.give_info_newton() Newton's polyhedron of x^2 + y*z: support points = [(2, 0, 0), (0, 1, 1)] vertices = [(0, 1, 1), (2, 0, 0)] number of proper faces = 13 Facet 1: x >= 0 Facet 2: y >= 0 Facet 3: z >= 0 Facet 4: x + 2*z - 2 >= 0 Facet 5: x + 2*y - 2 >= 0 sage: zex.topological_zeta() (s + 3)/((s + 1)*(2*s + 3)) sage: zex.give_expected_pole_info() The candidate poles of the (local) topological zeta function (with d = 1) of x^2 + y*z in function of s are: -3/2 with expected order: 2 The responsible face of maximal dimension is ``tau_0`` = minimal face who intersects with the diagonal of ambient space: tau6: dim 1, vertices = [(0, 1, 1), (2, 0, 0)], rays = [] generators of cone = [(1, 0, 2), (1, 2, 0)], partition into simplicial cones = [[(1, 0, 2), (1, 2, 0)]] -1 with expected order: 1 (If all Vol(tau) are 0, where tau runs through the selected faces that are no vertices, then the expected order of -1 is 0).REFERENCES:
[DenHoo] J . Denef and K . Hoornaert, “Newton Polyhedra and Igusa’s Local Zeta Function.”, 2001.
[DenLoe] J . Denef and F . Loeser, “Caracteristiques d’Euler-Poincare;, fonctions zeta locales et modifications analytiques.”, 1992.
[HooLoo] K . Hoornaert and D . Loots, “Computer program written in Maple for the calculation of Igusa’s local zeta function.”, http://www.wis.kuleuven.ac.be/algebra/kathleen.htm, 2000.
[Var] A . N . Varchenko, “Zeta-function of monodromy and Newton’s diagram.”, 1976.
[Viu] J . Viu-Sos, “Funciones zeta y poliedros de Newton: Aspectos teoricos y computacionales.”, 2012. AUTHORS:
- Kathleen Hoornaert (2000): initial version for Maple
- Juan Viu-Sos (2012): initial version for Sage
Note: All these examples are extracted of the original Maple's work of K. Hoornaert and D. Loots: "Computer program written in Maple for the calculation of Igusa local zeta function", http://www.wis.kuleuven.ac.be/algebra/kathleen.htm, 2000.
Examples for the Igusa Zeta Function
Example 1: $x^2 - y^2 + z^3$
{{{id=4| R.File: /tmp/tmp4oYBk1/<string>
Type: <type ‘instancemethod’>
Definition: zex3.igusa_zeta(p=None, dict_Ntau={}, local=False, weights=None, info=False, check=’ideals’)
Docstring:
Returns the expression of the Igusa zeta function for p a prime number (explicit or abstract), in terms of a symbolic variable s.
- local = True calculates the local Igusa zeta function (at the origin).
- weights – a list [k_1,\ldots,k_n] of weights for the volume form.
- info = True gives information of each face \tau, the associated cone of \tau, and the values L_tau and S_tau in the process.
- check – choose the method to check the non-degeneracy condition (‘default’ or ‘ideals’). If check = 'no_check', degeneracy checking is omitted.
Warning
This formula is only valid when the the given polynomial is NOT DEGENERATED for p with respect to his associated Newton Polyhedron (see [DenHoo]).
In the abstract case p = None, you can give a dictionary dict_Ntau where:
- The keys are the polynomials f_{\tau} associated of each face \tau of the Newton Polyhedron.
- The items are the associated abstract values N_{\tau}= \#\{a\in(\mathbb{F}_p - 0)^d \mid f^*_{\tau}(a)=0\} with f^*_{\tau}=\mathbb{F}_p(f_{\tau}), depending of a symbolic variable p.
If the value associated to a face \tau_k is not in the dictionary, function introduces a new symbolic variable N_tauk to represent N_{\tau_k}.
EXAMPLES:
sage: R.<x,y,z> = QQ[]; p = var('p') sage: zex1 = ZetaFunctions(x^2 - y^2 + z^3) sage: #For p=3 given sage: zex1.igusa_zeta(p = 3) 2*(3^(2*s + 4) - 3^(s + 1) + 2)*3^(2*s)/((3^(s + 1) - 1)*(3^(3*s + 4) - 1)) sage: #For p arbitrary, we can give the number of solutions over the faces sage: dNtau1 = { x^2-y^2+z^3 : (p-1)*(p-3), -y^2+z^3 : (p-1)^2, x^2+z^3 : (p-1)^2, x^2-y^2 : 2*(p-1)^2 } sage: zex1.igusa_zeta(p = None, dict_Ntau = dNtau1) (p - 1)*(p + p^(2*s + 4) - p^(s + 1) - 1)*p^(2*s)/((p^(s + 1) - 1)*(p^(3*s + 4) - 1)) sage: # sage: zex2 = ZetaFunctions(x^2 + y*z + z^2) sage: #For p=3 mod 4, we can give the number of solutions over the faces sage: dNtau2 = { x^2+y*z+z^2 : (p-1)^2, y*z+z^2 : (p-1)^2, x^2+y*z : (p-1)^2, x^2+z^2 : 0 } sage: zex2.igusa_zeta(p = None, dict_Ntau = dNtau2) (p^(s + 3) - 1)*(p - 1)*p^(2*s)/((p^(s + 1) - 1)*(p^(2*s + 3) - 1)) sage: #For p=1 mod 4 sage: dNtau2bis = { x^2+y*z+z^2 : (p-1)*(p-3), y*z+z^2 : (p-1)^2, x^2+y*z : (p-1)^2, x^2+z^2 : 2*(p-1)^2 } sage: zex2.igusa_zeta(p = None, dict_Ntau = dNtau2bis) (p^(s + 3) - 1)*(p - 1)*p^(2*s)/((p^(s + 1) - 1)*(p^(2*s + 3) - 1))REFERENCES:
[DenHoo] J . Denef and K . Hoornaert, “Newton Polyhedra and Igusa’s Local Zeta Function.”, 2001.
$p=3$:
For $p$ arbitrary, without information over the faces:
For $p$ arbitrary, with the number of solutions over the faces:
Example 4: $(x-y)^2 + z$
{{{id=14| zex4 = ZetaFunctions((x - y)^2 + z) /// }}}$p=7$:
{{{id=17| zex4.igusa_zeta(p=7) /// The formula for Igusa Zeta function is not valid: The polynomial is degenerated at least with respect to the face tau = {dim 1, vertices = [(0, 2, 0), (2, 0, 0)], rays = []} over GF(7)! NaN }}}For an arbitrary $p$:
{{{id=19| zex4.igusa_zeta() /// The formula for Igusa Zeta function is not valid: The polynomial is degenerated at least with respect to the face tau = {dim 1, vertices = [(0, 2, 0), (2, 0, 0)], rays = []} over the complex numbers! NaN }}}
Example 5: $x^2 + yz + z^2$
{{{id=21| zex5 = ZetaFunctions(x^2 + y*z + z^2) /// }}}For $p = 3$ mod $4$, we can give the number of solutions over the faces:
{{{id=94| dNtau5 = { x^2+y*z+z^2 : (p-1)^2, y*z+z^2 : (p-1)^2, x^2+y*z : (p-1)^2, x^2+z^2 : 0 } zex5.igusa_zeta(dict_Ntau = dNtau5, info = True) /// Gamma: total polyhedron L_gamma = -((p - 1)^2*(p^s - 1)*p/(p^(s + 1) - 1) - (p - 1)^3)/p^3 tau0: dim 0, vertices = [(0, 0, 2)], rays = [] generators of cone = [(0, 1, 0), (1, 0, 0), (1, 1, 1)], partition into simplicial cones = [[(0, 1, 0), (1, 0, 0), (1, 1, 1)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = 1/((p^(2*s + 3) - 1)*(p - 1)^2) tau1: dim 0, vertices = [(0, 1, 1)], rays = [] generators of cone = [(1, 0, 0), (1, 0, 2), (1, 1, 1)], partition into simplicial cones = [[(1, 0, 0), (1, 0, 2), (1, 1, 1)]] multiplicities = [2], integral points = [[(0, 0, 0), (1, 0, 1)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = (p^(s + 2) + 1)/((p^(2*s + 3) - 1)^2*(p - 1)) tau2: dim 0, vertices = [(2, 0, 0)], rays = [] generators of cone = [(0, 1, 0), (0, 0, 1), (1, 0, 2), (1, 1, 1)], partition into simplicial cones = [[(1, 0, 2), (0, 1, 0)], [(1, 0, 2), (0, 0, 1), (0, 1, 0)], [(1, 0, 2), (1, 1, 1), (0, 1, 0)]] multiplicities = [1, 1, 1], integral points = [[(0, 0, 0)], [(0, 0, 0)], [(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = 1/((p^(2*s + 3) - 1)*(p - 1)) + 1/((p^(2*s + 3) - 1)*(p - 1)^2) + 1/((p^(2*s + 3) - 1)^2*(p - 1)) tau3: dim 1, vertices = [(0, 0, 2)], rays = [(0, 0, 1)] generators of cone = [(0, 1, 0), (1, 0, 0)], partition into simplicial cones = [[(0, 1, 0), (1, 0, 0)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = (p - 1)^(-2) tau4: dim 1, vertices = [(0, 0, 2), (0, 1, 1)], rays = [] generators of cone = [(1, 0, 0), (1, 1, 1)], partition into simplicial cones = [[(1, 0, 0), (1, 1, 1)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = (p - 1)^2, L_tau = (p - 1)^2*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^3) , S_tau = 1/((p^(2*s + 3) - 1)*(p - 1)) tau5: dim 1, vertices = [(0, 1, 1)], rays = [(0, 1, 0)] generators of cone = [(1, 0, 0), (1, 0, 2)], partition into simplicial cones = [[(1, 0, 0), (1, 0, 2)]] multiplicities = [2], integral points = [[(0, 0, 0), (1, 0, 1)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = (p^(s + 2) + 1)/((p^(2*s + 3) - 1)*(p - 1)) tau6: dim 1, vertices = [(0, 0, 2), (2, 0, 0)], rays = [] generators of cone = [(0, 1, 0), (1, 1, 1)], partition into simplicial cones = [[(0, 1, 0), (1, 1, 1)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = 1/((p^(2*s + 3) - 1)*(p - 1)) tau7: dim 1, vertices = [(2, 0, 0)], rays = [(0, 1, 0)] generators of cone = [(0, 0, 1), (1, 0, 2)], partition into simplicial cones = [[(0, 0, 1), (1, 0, 2)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = 1/((p^(2*s + 3) - 1)*(p - 1)) tau8: dim 1, vertices = [(0, 1, 1), (2, 0, 0)], rays = [] generators of cone = [(1, 0, 2), (1, 1, 1)], partition into simplicial cones = [[(1, 0, 2), (1, 1, 1)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = (p - 1)^2, L_tau = (p - 1)^2*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^3) , S_tau = (p^(2*s + 3) - 1)^(-2) tau9: dim 1, vertices = [(2, 0, 0)], rays = [(1, 0, 0)] generators of cone = [(0, 1, 0), (0, 0, 1)], partition into simplicial cones = [[(0, 1, 0), (0, 0, 1)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = (p - 1)^(-2) tau10: dim 2, vertices = [(0, 0, 2), (2, 0, 0)], rays = [(0, 0, 1), (1, 0, 0)] generators of cone = [(0, 1, 0)], partition into simplicial cones = [[(0, 1, 0)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = 1/(p - 1) tau11: dim 2, vertices = [(0, 0, 2), (0, 1, 1)], rays = [(0, 0, 1), (0, 1, 0)] generators of cone = [(1, 0, 0)], partition into simplicial cones = [[(1, 0, 0)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = (p - 1)^2, L_tau = (p - 1)^2*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^3) , S_tau = 1/(p - 1) tau12: dim 2, vertices = [(2, 0, 0)], rays = [(0, 1, 0), (1, 0, 0)] generators of cone = [(0, 0, 1)], partition into simplicial cones = [[(0, 0, 1)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = 0, L_tau = (p - 1)^3/p^3 , S_tau = 1/(p - 1) tau13: dim 2, vertices = [(0, 1, 1), (2, 0, 0)], rays = [(0, 1, 0)] generators of cone = [(1, 0, 2)], partition into simplicial cones = [[(1, 0, 2)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = (p - 1)^2, L_tau = (p - 1)^2*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^3) , S_tau = 1/(p^(2*s + 3) - 1) tau14: dim 2, vertices = [(0, 0, 2), (0, 1, 1), (2, 0, 0)], rays = [] generators of cone = [(1, 1, 1)], partition into simplicial cones = [[(1, 1, 1)]] multiplicities = [1], integral points = [[(0, 0, 0)]] N_tau = (p - 1)^2, L_tau = (p - 1)^2*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^3) , S_tau = 1/(p^(2*s + 3) - 1) (p^(s + 3) - 1)*(p - 1)*p^(2*s)/((p^(s + 1) - 1)*(p^(2*s + 3) - 1)) }}}For $p = 1$ mod $4$:
{{{id=25| dNtau5bis = { x^2+y*z+z^2 : (p-1)*(p-3), y*z+z^2 : (p-1)^2, x^2+y*z : (p-1)^2, x^2+z^2 : 2*(p-1)^2 } zex5.igusa_zeta(dict_Ntau = dNtau5bis) /// (p^(s + 3) - 1)*(p - 1)*p^(2*s)/((p^(s + 1) - 1)*(p^(2*s + 3) - 1)) }}}
Example 6: $x^2z + y^2z + u^3$
{{{id=27| S.For $p = 1$ mod $4$, with the number of solutions over the faces:
{{{id=29| dNtau6 = { x^2*z+y^2*z+u^3 : (p-1)^2*(p-3), x^2*z+u^3 : (p-1)^3, y^2*z + u^3: (p-1)^3, x^2*z+y^2*z : 2*(p-1)^3} zex6.igusa_zeta(dict_Ntau = dNtau6) /// (p - 1)*(p^(4*s + 8) - 3*p^(3*s + 5) + 2*p^(3*s + 4) + 3*p^(2*s + 5) - 6*p^(2*s + 4) + 3*p^(2*s + 3) + 2*p^(s + 4) - 3*p^(s + 3) + 1)*p^(3*s)/((p^(s + 1) - 1)*(p^(3*s + 4) - 1)^2) }}}Local for $p = 1$ mod $4$, with the number of solutions over the faces:
{{{id=31| zex6.igusa_zeta(local = True, dict_Ntau = dNtau6) /// (p - 1)*(p^(4*s + 8) - 3*p^(3*s + 5) + 2*p^(3*s + 4) + 3*p^(2*s + 5) - 6*p^(2*s + 4) + 3*p^(2*s + 3) + 2*p^(s + 4) - 3*p^(s + 3) + 1)/((p^(s + 1) - 1)*(p^(3*s + 4) - 1)^2*p^4) }}}Local for $p = 3$ mod $4$, with the number of solutions over the faces::
{{{id=33| dNtau6bis = { x^2*z+y^2*z+u^3 : (p-1)^3, x^2*z+u^3 : (p-1)^3, y^2*z + u^3: (p-1)^3, x^2*z+y^2*z : 0} zex6.igusa_zeta(local = True, dict_Ntau = dNtau6bis, info = True) /// tau0: dim 0, vertices = [(0, 0, 0, 3)], rays = [] generators of cone = [(0, 1, 0, 0), (0, 0, 3, 1), (1, 0, 0, 0), (0, 0, 1, 0), (3, 3, 0, 2)], partition into simplicial cones = [[(1, 0, 0, 0), (0, 0, 3, 1), (0, 1, 0, 0)], [(0, 1, 0, 0), (1, 0, 0, 0), (0, 0, 3, 1), (0, 0, 1, 0)], [(3, 3, 0, 2), (1, 0, 0, 0), (0, 0, 3, 1), (0, 1, 0, 0)]] multiplicities = [1, 1, 6], integral points = [[(0, 0, 0, 0)], [(0, 0, 0, 0)], [(0, 0, 0, 0), (3, 3, 1, 2), (2, 2, 2, 2), (2, 2, 0, 1), (1, 1, 1, 1), (1, 1, 2, 1)]] N_tau = 0, L_tau = (p - 1)^4/p^4 , S_tau = (p^(6*s + 9) + p^(6*s + 8) + 2*p^(3*s + 5) + p^(3*s + 4) + 1)/((p^(3*s + 4) - 1)*(p^(6*s + 8) - 1)*(p - 1)^2) + 1/((p^(3*s + 4) - 1)*(p - 1)^2) + 1/((p^(3*s + 4) - 1)*(p - 1)^3) tau1: dim 0, vertices = [(0, 2, 1, 0)], rays = [] generators of cone = [(0, 0, 0, 1), (0, 0, 3, 1), (1, 0, 0, 0), (3, 3, 0, 2)], partition into simplicial cones = [[(0, 0, 0, 1), (0, 0, 3, 1), (1, 0, 0, 0), (3, 3, 0, 2)]] multiplicities = [9], integral points = [[(0, 0, 0, 0), (1, 1, 0, 1), (2, 2, 0, 2), (0, 0, 1, 1), (1, 1, 1, 1), (2, 2, 1, 2), (0, 0, 2, 1), (1, 1, 2, 2), (2, 2, 2, 2)]] N_tau = 0, L_tau = (p - 1)^4/p^4 , S_tau = (p^(6*s + 8) + p^(5*s + 7) + 2*p^(4*s + 6) + p^(3*s + 4) + 2*p^(2*s + 3) + p^(s + 2) + 1)/((p^(3*s + 4) - 1)*(p^(6*s + 8) - 1)*(p - 1)^2) tau2: dim 0, vertices = [(2, 0, 1, 0)], rays = [] generators of cone = [(0, 1, 0, 0), (0, 0, 0, 1), (0, 0, 3, 1), (3, 3, 0, 2)], partition into simplicial cones = [[(0, 1, 0, 0), (0, 0, 0, 1), (0, 0, 3, 1), (3, 3, 0, 2)]] multiplicities = [9], integral points = [[(0, 0, 0, 0), (1, 1, 0, 1), (2, 2, 0, 2), (0, 0, 1, 1), (1, 1, 1, 1), (2, 2, 1, 2), (0, 0, 2, 1), (1, 1, 2, 2), (2, 2, 2, 2)]] N_tau = 0, L_tau = (p - 1)^4/p^4 , S_tau = (p^(6*s + 8) + p^(5*s + 7) + 2*p^(4*s + 6) + p^(3*s + 4) + 2*p^(2*s + 3) + p^(s + 2) + 1)/((p^(3*s + 4) - 1)*(p^(6*s + 8) - 1)*(p - 1)^2) tau11: dim 1, vertices = [(0, 0, 0, 3), (0, 2, 1, 0)], rays = [] generators of cone = [(0, 0, 3, 1), (1, 0, 0, 0), (3, 3, 0, 2)], partition into simplicial cones = [[(0, 0, 3, 1), (1, 0, 0, 0), (3, 3, 0, 2)]] multiplicities = [3], integral points = [[(0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2)]] N_tau = (p - 1)^3, L_tau = (p - 1)^3*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^4) , S_tau = (p^(6*s + 8) + p^(3*s + 4) + 1)/((p^(3*s + 4) - 1)*(p^(6*s + 8) - 1)*(p - 1)) tau17: dim 1, vertices = [(0, 0, 0, 3), (2, 0, 1, 0)], rays = [] generators of cone = [(0, 1, 0, 0), (0, 0, 3, 1), (3, 3, 0, 2)], partition into simplicial cones = [[(0, 1, 0, 0), (0, 0, 3, 1), (3, 3, 0, 2)]] multiplicities = [3], integral points = [[(0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2)]] N_tau = (p - 1)^3, L_tau = (p - 1)^3*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^4) , S_tau = (p^(6*s + 8) + p^(3*s + 4) + 1)/((p^(3*s + 4) - 1)*(p^(6*s + 8) - 1)*(p - 1)) tau20: dim 1, vertices = [(0, 2, 1, 0), (2, 0, 1, 0)], rays = [] generators of cone = [(0, 0, 0, 1), (0, 0, 3, 1), (3, 3, 0, 2)], partition into simplicial cones = [[(0, 0, 0, 1), (0, 0, 3, 1), (3, 3, 0, 2)]] multiplicities = [9], integral points = [[(0, 0, 0, 0), (0, 0, 1, 1), (0, 0, 2, 1), (1, 1, 0, 1), (1, 1, 1, 1), (1, 1, 2, 2), (2, 2, 0, 2), (2, 2, 1, 2), (2, 2, 2, 2)]] N_tau = 0, L_tau = (p - 1)^4/p^4 , S_tau = (p^(6*s + 8) + p^(5*s + 7) + 2*p^(4*s + 6) + p^(3*s + 4) + 2*p^(2*s + 3) + p^(s + 2) + 1)/((p^(3*s + 4) - 1)*(p^(6*s + 8) - 1)*(p - 1)) tau22: dim 2, vertices = [(0, 0, 0, 3), (0, 2, 1, 0), (2, 0, 1, 0)], rays = [] generators of cone = [(0, 0, 3, 1), (3, 3, 0, 2)], partition into simplicial cones = [[(0, 0, 3, 1), (3, 3, 0, 2)]] multiplicities = [3], integral points = [[(0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2)]] N_tau = (p - 1)^3, L_tau = (p - 1)^3*(p^(s + 2) - 2*p^(s + 1) + 1)/((p^(s + 1) - 1)*p^4) , S_tau = (p^(6*s + 8) + p^(3*s + 4) + 1)/((p^(3*s + 4) - 1)*(p^(6*s + 8) - 1)) (p^(s + 2) + 1)*(p - 1)*(p^(3*s + 6) - p^(2*s + 4) - p^(2*s + 3) + p^(s + 3) + p^(s + 2) - 1)/((p^(s + 1) - 1)*(p^(3*s + 4) - 1)*(p^(3*s + 4) + 1)*p^4) }}}Examples for the Topological Zeta Function
Example 10: $x^2 + yz$
{{{id=35| R.File: /tmp/tmpGa4Nuv/<string>
Type: <type ‘instancemethod’>
Definition: zex10.topological_zeta(d=1, local=False, weights=None, info=False, check=’ideals’)
Docstring:
Returns the expression of the Topological zeta function Z_{top, f}^{(d)} for d\geq 1, in terms of the symbolic variable s:
- local = True calculates the local Topological zeta function (at the origin).
- weights – a list [k_1,\ldots,k_n] of weights for the volume form.
- d – (default:1) an integer. We consider only the divisor whose multiplicity is a multiple of d (see [DenLoe]).
- info = True gives information of each face \tau, the associated cone of \tau, and the values J_\tau and \mathop{dim}(\tau)!\cdot\mathop{Vol}(\tau) in the process (see [DenLoe]).
- check – choose the method to check the non-degeneracy condition (‘default’ or ‘ideals’). If check = 'no_check', degeneracy checking is omitted.
Warning
This formula is only valid when the the given polynomial is NOT DEGENERATED with respect to his associated Newton Polyhedron (see [DenLoe]).
EXAMPLES:
sage: R.<x,y,z> = QQ[] sage: zex1 = ZetaFunctions(x^2 + y*z) sage: zex1.topological_zeta() (s + 3)/((s + 1)*(2*s + 3)) sage: #For d = 2 sage: zex1.topological_zeta(d = 2) 1/(2*s + 3)REFERENCES:
[DenLoe] (1, 2, 3) J . Denef and F . Loeser, “Caracteristiques d’Euler-Poincare;, fonctions zeta locales et modifications analytiques.”, 1992.
Example 11: $x^2 + yz$
$d = 2$:
Example 12: $x^2y^2z + xyz^2$
$d = 2$:
{{{id=53| zex12 = ZetaFunctions(R(x^2*y^2*z + x*y*z^2)) /// }}} {{{id=54| zex12.give_expected_pole_info(d = 2) /// There will be no poles for the (local) topological zeta function (with d = 2) of x^2*y^2*z + x*y*z^2. }}} {{{id=55| zex12.topological_zeta(d = 2) /// 0 }}}
Example 14: $xyz + uvw + xyw + zuv$
{{{id=51| S2.
Example 15: $xy^3 + xy^2 + x^2y$
{{{id=59| R2.Local:
{{{id=67| zex15.give_expected_pole_info(local = True) /// The candidate poles of the (local) topological zeta function (with d = 1) of x*y^3 + x^2*y + x*y^2 in function of s are: -2/3 with expected order: 1 The responsible face of maximal dimension is ``tau_0`` = minimal face who intersects with the diagonal of ambient space: tau4: dim 1, vertices = [(1, 2), (2, 1)], rays = [] generators of cone = [(1, 1)], partition into simplicial cones = [[(1, 1)]] -1 with expected order: 1 The responsible face(s) of maximal dimension is/are: tau1: dim 0, vertices = [(2, 1)], rays = [] generators of cone = [(0, 1), (1, 1)], partition into simplicial cones = [[(0, 1), (1, 1)]] tau0: dim 0, vertices = [(1, 2)], rays = [] generators of cone = [(1, 0), (1, 1)], partition into simplicial cones = [[(1, 0), (1, 1)]] }}} {{{id=62| zex15.topological_zeta(local = True, info = True) /// tau0: dim 0, vertices = [(1, 2)], rays = [] generators of cone = [(1, 0), (1, 1)], partition into simplicial cones = [[(1, 0), (1, 1)]] multiplicities = [1], integral points = [[(0, 0)]] J_tau = 1/((s + 1)*(3*s + 2)) , dim_tau!*Vol(tau) = 1 tau1: dim 0, vertices = [(2, 1)], rays = [] generators of cone = [(0, 1), (1, 1)], partition into simplicial cones = [[(0, 1), (1, 1)]] multiplicities = [1], integral points = [[(0, 0)]] J_tau = 1/((s + 1)*(3*s + 2)) , dim_tau!*Vol(tau) = 1 tau4: dim 1, vertices = [(1, 2), (2, 1)], rays = [] generators of cone = [(1, 1)], partition into simplicial cones = [[(1, 1)]] multiplicities = [1], integral points = [[(0, 0)]] J_tau = 1/(3*s + 2) , dim_tau!*Vol(tau) = 1 -(s - 2)/((s + 1)*(3*s + 2)) }}}
Example 19: $x_1x_2x_3^2x_4 + x_1x_2^2x_3x_4 + x_1^2x_2x_3x_4^2$
{{{id=68| T.
Example 21: $x_1^2 + x_2^3x_4^3 + x_3^3x_5^3$
{{{id=73| T2.
Examples for the Monodromy Zeta Function at the origin