Module DR (by Aaron Pixton)

admcycles.DR.CTconst(g)[source]
admcycles.DR.CTsum(psilist, kappalist)[source]
admcycles.DR.C_coeff(m, term)[source]
admcycles.DR.DR_coeff(num, g, r, n=0, dvector=(), moduli_type=3)[source]
admcycles.DR.DR_coeff_is_known(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.DR_coeff_m(m, num, g, r, n=0, dvector=(), kval=0, moduli_type=3)[source]
admcycles.DR.DR_coeff_new(num, g, r, n=0, dvector=(), kval=0, moduli_type=3)[source]
admcycles.DR.DR_coeff_setup(num, g, r, n=0, dvector=(), kval=0, moduli_type=3)[source]
admcycles.DR.DR_coeff_setup_m(m, num, g, r, n=0, dvector=(), kval=0, moduli_type=3)[source]
admcycles.DR.DR_compute(g, r, n=0, dvector=(), kval=0, moduli_type=3)[source]
admcycles.DR.DR_compute_m(m, g, r, n=0, dvector=(), kval=0, moduli_type=3)[source]
admcycles.DR.DR_compute_old(g, r, n=0, dvector=(), moduli_type=3)[source]
admcycles.DR.DR_psi_check(g, n, dvector, which_psi)[source]
admcycles.DR.DR_reduced(g, dvector=())[source]
admcycles.DR.DR_sparse(g, r, n=0, dvector=(), kval=0, moduli_type=3)[source]
admcycles.DR.DR_sym_compute_old(g, r, n, dvector=(), moduli_type=3)[source]
admcycles.DR.DR_uncomputed(g, r, markings, moduli_type=3)[source]
admcycles.DR.FZ_coeff(num, FZ_param, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.FZ_hedge_factor(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.FZ_kappa_factor(num, sigma, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.FZ_kappa_factor2(L, sigma)[source]
admcycles.DR.FZ_marking_factor(num, marking_vec, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.FZ_matrix(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.FZ_param_list(n, markings=())[source]
admcycles.DR.FZ_rels(g, r, markings=(), moduli_type=3)[source]
class admcycles.DR.Graph(M=None, genus_list=None)[source]
add_edge(i1, i2, marking=0)[source]
add_vertex(g)[source]
compute_degree_vec()[source]
compute_invariant()[source]
contract(i, vlist, elist)[source]
degree(i)[source]
del_edge(i)[source]
del_vertex(i)[source]
h1()[source]
num_edges()[source]
num_vertices()[source]
purify()[source]
replace_vertex_with_graph(i, G)[source]
set_target_parity()[source]
split_vertex(i, row1, row2)[source]
admcycles.DR.RTsum(g, psilist, kappalist)[source]
admcycles.DR.STrecur(psi)[source]
admcycles.DR.STrecur_calc(psi)[source]
admcycles.DR.STsum(psilist, kappalist)[source]
admcycles.DR.all_pure_strata(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.all_strata(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.aut(L)[source]
admcycles.DR.autom_count(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.automorphism_cosets(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.betti(g, r, marked_points=(), moduli_type=3)[source]

This function returns the predicted rank of the codimension r grading of the tautological ring of the moduli space of stable genus g curves with marked points labeled by the multiset marked_points.

g and r should be nonnegative integers and marked_points should be a tuple of positive integers.

The parameter moduli_type determines which moduli space to use: - MODULI_ST: all stable curves (this is the default) - MODULI_CT: curves of compact type - MODULI_RT: curves with rational tails - MODULI_SM: smooth curves

EXAMPLES:

sage: from admcycles.DR import betti

Check rank R^3(bar{M}_2) = 1:

sage: betti(2,3)
1

Check rank R^2(bar{M}_{2,3}) = 44:

sage: betti(2,2,(1,2,3))
44

Check rank R^2(bar{M}_{2,3})^{S_3} = 20:

sage: betti(2,2,(1,1,1))
20

Check rank R^2(bar{M}_{2,3})^{S_2} = 32 (S_2 interchanging markings 1 and 2):

sage: betti(2,2,(1,1,2))
32

Check rank R^2(M^c_4) = rank R^3(M^c_4) = 6:

sage: from admcycles.DR import MODULI_CT, MODULI_RT, MODULI_SM
sage: betti(4,2,(),MODULI_CT)
6
sage: betti(4,3,(),MODULI_CT)
6

Check rank R^8(M^rt_{17,2})^(S_2) < R^9(M^rt_{17,2})^(S_2):

sage: betti(17,8,(1,1),MODULI_RT)   # long time
122
sage: betti(17,9,(1,1),MODULI_RT)   # long time
123

Check rank R^9(M_{20,1}) < rank R^10(M_{20,1}):

sage: betti(20,9,(1,),MODULI_SM)   # long time
75
sage: betti(20,10,(1,),MODULI_SM)  # long time
76
admcycles.DR.boundary_FZ(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.check_associativity(g, r1, r2, r3, markings=(), moduli_type=3)[source]
admcycles.DR.choose_basic_rels(g, r, n=0, moduli_type=3)[source]
admcycles.DR.choose_orders(L)[source]
admcycles.DR.choose_orders_sparse(D, nrows, ncols)[source]
admcycles.DR.compute_rank(L)[source]
admcycles.DR.compute_rank2(L, row_order, col_order)[source]
admcycles.DR.compute_rank_sparse(D, row_order, col_order)[source]
admcycles.DR.constant_cycle(L, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.contraction_table(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.convert_to_monomial_basis(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.convert_to_pushforward_basis(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.convert_vector_to_monomial_basis(vec, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.convert_vector_to_pushforward_basis(vec, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.count_automorphisms(M, grouping, vertex_orbits=False)[source]
admcycles.DR.decorate(G_list, r, moduli_type=3)[source]
admcycles.DR.degenerate(G_list, moduli_type=3)[source]
admcycles.DR.derived_rels(g, r, n=0, moduli_type=3)[source]
admcycles.DR.dim_form(g, n, moduli_type=3)[source]
admcycles.DR.dprint(str, *args)[source]
admcycles.DR.dsave(str, *args)[source]
admcycles.DR.dual_C_coeff(i, j, parity)[source]
admcycles.DR.find_nonsep_pairs(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.good_generator_list(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.goren_rels(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.gorenstein(g, r, marked_points=(), moduli_type=3)[source]

This function returns the rank of the codimension r grading of the Gorenstein quotient of the tautological ring of the moduli space of genus g curves with marked points labeled by the multiset marked_points.

g and r should be nonnegative integers and marked_points should be a tuple of positive integers.

The parameter moduli_type determines which moduli space to use: - MODULI_ST: all stable curves (this is the default) - MODULI_CT: curves of compact type - MODULI_RT: curves with rational tails

EXAMPLES:

sage: from admcycles.DR import gorenstein

Check rank Gor^3(bar{M}_{3}) = 10:

sage: gorenstein(3,3)
10

Check rank Gor^2(bar{M}_{2,2}) = 14:

sage: gorenstein(2,2,(1,2))
14

Check rank Gor^2(bar{M}_{2,2})^{S_2} = 11:

sage: gorenstein(2,2,(1,1))
11

Check rank Gor^2(M^c_{4}) = 6:

sage: from admcycles.DR import MODULI_CT, MODULI_RT

sage: gorenstein(4,2,(),MODULI_CT)
6

Check rank Gor^4(M^rt_{8,2}) = 22:

sage: gorenstein(8,4,(1,2),MODULI_RT)
22
admcycles.DR.gorenstein_precompute(g, r1, markings=(), moduli_type=3)[source]
admcycles.DR.graph_count_automorphisms(G, vertex_orbits=False)[source]
admcycles.DR.graph_isomorphic(G1, G2)[source]
admcycles.DR.graph_list_isomorphisms(G1, G2, only_one=False)[source]
admcycles.DR.insertion_pullback(vec, g, r, n=0, new_mark=1, moduli_type=3)[source]
admcycles.DR.insertion_pullback2(vec, g, r, n=0, new_mark=1, moduli_type=3)[source]
admcycles.DR.interior_FZ(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.interior_derived_rels(g, r, n=0, moduli_type=3)[source]
admcycles.DR.interpolate(A, B)[source]
admcycles.DR.isomorphic(M1, M2, group1, group2)[source]
admcycles.DR.kappa_coeff(sigma, kappa_0, target_partition)[source]
admcycles.DR.kappa_conversion(sigma)[source]
admcycles.DR.kappa_conversion_inverse(sigma)[source]
admcycles.DR.kappa_multiple(vec, which_kappa, g, r, n=0, moduli_type=3)[source]
admcycles.DR.list_all_FZ(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.list_isomorphisms(M1, M2, group1, group2, only_one=False)[source]
admcycles.DR.list_strata(g, r, n=0, moduli_type=3)[source]
admcycles.DR.multi(sigma)[source]
admcycles.DR.multi2(g, sigma)[source]
admcycles.DR.multiply(r1, i1, r2, i2, g, rmax, markings=(), moduli_type=3)[source]
admcycles.DR.num_new_rels(g, r, n=0, moduli_type=3)[source]
admcycles.DR.num_of_stratum(G, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.num_pure_strata(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.num_strata(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.pairing_matrix(g, r1, markings=(), moduli_type=3)[source]
admcycles.DR.pairing_submatrix(S1, S2, g, r1, markings=(), moduli_type=3)[source]
admcycles.DR.partial_symmetrize_map(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.poly_to_partition(F)[source]
admcycles.DR.possibly_new_FZ(g, r, n=0, moduli_type=3)[source]
admcycles.DR.psi_multiple(vec, which_psi, g, r, n=0, moduli_type=3)[source]
admcycles.DR.pullback_derived_rels(g, r, n=0, moduli_type=3)[source]
admcycles.DR.pure_strata_autom_count(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.recursive_betti(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.reduce_with_rels(B, vec)[source]
admcycles.DR.reduced_FZ_param_list(G, v, g, d, n)[source]
admcycles.DR.remove_duplicates(L)[source]
admcycles.DR.remove_duplicates2(L)[source]
admcycles.DR.remove_isomorphic(G_list)[source]
admcycles.DR.setparts(symlist)[source]
admcycles.DR.setparts_recur(symlist, progress)[source]
admcycles.DR.setparts_with_auts(symlist)[source]
admcycles.DR.simplify_sparse(vec)[source]
admcycles.DR.single_insertion_pullback(num, g, r, n=0, new_mark=1, moduli_type=3)[source]
admcycles.DR.single_insertion_pullback2(num, g, r, n=0, new_mark=1, moduli_type=3)[source]
admcycles.DR.single_kappa_multiple(num, which_kappa, g, r, n=0, moduli_type=3)[source]
admcycles.DR.single_kappa_psi_multiple(num, kappa_partition, psi_exps, g, r, n=0, moduli_type=3)[source]
admcycles.DR.single_psi_multiple(num, which_psi, g, r, n=0, moduli_type=3)[source]
admcycles.DR.single_pure_stratum(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.single_stratum(num, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.socle_evaluation(num, g, markings=(), moduli_type=3)[source]
admcycles.DR.socle_formula(g, psilist, kappalist, moduli_type=3)[source]
admcycles.DR.strata_invariant_lookup(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.subsequences(seq, l)[source]
admcycles.DR.symmetrize_map(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.unpurify_map(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.unsymmetrize_map(g, r, markings=(), moduli_type=3)[source]
admcycles.DR.unsymmetrize_vec(vec, g, r, markings=(), moduli_type=3)[source]
admcycles.DR.veto_for_DR(num, g, r, markings=(), moduli_type=3)[source]