Skip to content

Draft: Sub-package for Hurwitz theory in admcycles

Johannes Schmitt requested to merge hurwitz into master

This branch works on implementing functions for Hurwitz numbers, admissible cover cycles and ELSV-like formulas as the sub-package hurwitz of admcycles.

Desirable features and TODOs

  • remove all .sage files once they have been fully converted to the .py format
  • have unified arguments target_g, degree, profiles for all relevant functions

File hurwitz_numbers.py

  • function monodromy_representations giving out the list of all representations for given genera, degrees and ramification profiles
  • function hurwitz_number that bundles the individual implementations (via monodromies, connected/disconnected recursions, ELSV formulas etc)
  • what about spin Hurwitz numbers in the sense of https://arxiv.org/abs/2104.05697 , can we get an implementation of these?
  • implementation of (disconnected?) r-spin, q-orbifold Hurwitz numbers using completed cycles
  • general machinery for connected-disconnected recursion (maybe with generating series, log/exp?)
  • splitting of Hurwitz numbers into mapping class orbits, computation of Nielsen numbers

File admcover.py

  • function TautologicalAdmRing.generators(d) listing all (target) decorated strata in a given degree d; this should work by enumerating a) all admissible graph covers \Delta \to \Gamma with \Gamma having at most d edges and b) all decorations on the target graph that don't vanish for dimension reasons.
  • function TautologicalAdmClass.evaluate() which computes the intersection number associated to the decorated stratum class
  • allow ramification input to be specified (alternatively) by list instead of dictionary (for compatibility with hurwitz_numbers)
  • once !164 (merged) is completed: use this to write a function AdmissibleCoverCycle(target_g,degree,profiles,markings=[]) that computes the fundamental class of the admissible cover space (after the forgetful map only remembering the given markings)

optional

  • make output of TautologicalAdmRing.generators(d) duplicate-free : since the automorphism group of the cover acts on the target decorations, only one representative should appear per equivalence class
Edited by Johannes Schmitt

Merge request reports