Module cvolume¶
-
cvolume.cvolume.CKazarian(g, k)[source]¶ Return Kazarian constant for recursion on volumes of principal strata.
-
cvolume.cvolume.asymptotic_volume(stratum)[source]¶ Return conjectural asymptotics for the volume of the stratum from [ADGZZ]. Note that formula is only conjectured in the case when the number of poles is logarithmically small compared to the genus.
-
cvolume.cvolume.completed_volume(stratum, with_pi=True, verbose=False, one_vertex=False)[source]¶ Return the completed volume of the stratum.
INPUT:
stratum– list, a list of orders of zeros of the stratumwith_pi– boolean (default True), when False returns completed volume as a rational number (volume divided by an appropriate degree of piverbose– boolean (default False), when True prints progress of the computation: time to generate and the number of stable graphs in each codimension and in total; progress of computing contribution of stable graphsone_vertex– boolean (default False), when True only computed contribution of one-vertex labeled stable graphs.
EXAMPLES:
Here we compute completed volume of an empty stratum \(\mathcal{Q}(3,1)\):
sage: from cvolume import completed_volume sage: completed_volume([3, 1]) 23/90*pi^4
Here we demonstrate the verbose mode by computing completed volume of stratum \(\mathcal{Q}(1,-1)\):
sage: completed_volume([3, 1, 1, -1], verbose = True) Computing completed volume of stratum [3, 1, 1, -1]... Generated 2 codimension 1 graphs in ... s Generated 4 codimension 2 graphs in ... s Generated 3 codimension 3 graphs in ... s The total number of stable graphs for stratum [3, 1, 1, -1] is: 9. Generated all stable graphs for stratum [3, 1, 1, -1] in: ... s Computed contribution of 9/9 graphs. Time elapsed: ... s Completed volume of [3, 1, 1, -1] is computed in: ... s Completed volume of [3, 1, 1, -1] is: 7/60*pi^6 7/60*pi^6
Here we compute one-vertex graphs contribution to the completed volume of \(\mathcal{Q}(3,1,1,-1)\):
sage: completed_volume([3, 1, 1, -1], one_vertex=True) 1346/14175*pi^6
Here are some examples for principal strata, where completed volume coincides with Masur-Veech volume:
sage: assert completed_volume([1, -1, -1, -1, -1, -1]) == 1*pi^4 sage: assert completed_volume([1, 1, -1, -1]) == 1/3*pi^4 sage: assert completed_volume([1, -1]) == 2/3*pi^2 sage: assert completed_volume([-1, -1, -1, -1]) == 2*pi^2
-
cvolume.cvolume.cvolume_by_cylinders(stratum)[source]¶ Return the contributions of k-cylinder surfaces to the completed volume of the stratum for each k.
-
cvolume.cvolume.cvolume_by_graphs(stratum, graphs)[source]¶ Return the contribution of given stable graphs to the completed volume of the stratum.
INPUT:
stratum– list, a list of orders of zeros of the stratumgraphs– iterable, e.g. a set, of Labeled Stable Graphs
-
cvolume.cvolume.graph_poly(stg)[source]¶ Return the ‘Kontsevich polynomial’ associated to the Labeled Stable Graph.
EXAMPLES:
Here we compute the polynomial associated with a labeled stable graph with one loop:
sage: from cvolume import LabeledStableGraph sage: from cvolume.cvolume import graph_poly sage: stg = LabeledStableGraph([], [1], [[3, 3, -1, -1]]) sage: graph_poly(stg) 19/128*b1^5
Here is another example for a graph with two vertices:
sage: stg = LabeledStableGraph([(0, 1, 1)], [1, 1], [[3, -1], [3, -1]]) sage: graph_poly(stg) 9/16*b1*b2*b3
Note that the previous example can be expressed through local polynomials associated to vertices:
sage: from cvolume import Nlocal sage: S = PolynomialRing(QQ,['b%d' % i for i in range(1,4)]) sage: b1,b2,b3 = S.gens() sage: graph_poly(stg) == 1/2*1/8*b1*b2*b3*Nlocal(0,3,[3,-1])(b1=b1,b2=b1,b3=b2)*Nlocal(0,3,[3,-1])(b1=b2,b2=b3,b3=b3) True
-
cvolume.cvolume.operator(Poly)[source]¶ Return the result of application of \(\mathcal{Z}\)-operator to the polynomial.