This post concerns QuiverTools. If you use it for your research, please cite it using DOI.

tldr; The QuiverTools package for SageMath and Julia is now on the arXiv.

Almost a year ago we (= Hans Franzen, Gianni Petrella, and I) announced QuiverTools, which is software to work with quivers and their moduli spaces of representations.

Back then I wrote that:

  • we released v1.0
  • we were working on a Julia version, more focused on performance
  • we were working on an introduction to the package

I'm glad to say that:

I won't be giving a short description of the paper: it is itself short and meant to be accessible.

A slogan

Let me however explain a slogan which is implicit in the paper, but which motivates many of the results. It is directly related to the beautiful dictionary between

  • moduli spaces of quiver representations
  • moduli spaces of vector bundles on curves

The curve side The Riemann–Roch theorem for vector bundles says that for a vector bundle $\mathcal{E}$ on a smooth projective curve $C$ of genus $g$, we have that \[ \chi(C,\mathcal{E}) = \mathrm{h}^0(C,\mathcal{E}) - \mathrm{h}^1(C,\mathcal{E}) = \deg(\mathcal{E}) + \operatorname{rk}(\mathcal{E})(1-g) \]

It allows us to encode the intersection form (or Euler form) on the numerical Grothendieck group of $C$, which is isomorphic to $\mathbb{Z}^{\oplus 2}$, because \[ \langle\mathcal{E},\mathcal{F}\rangle \coloneqq \operatorname{Hom}(\mathcal{E},\mathcal{F}) - \operatorname{Ext}^1(\mathcal{E},\mathcal{F}) \overset{!}{=} \chi(C,\mathcal{E}^\vee\otimes\mathcal{F}). \]

Many results for (moduli of) vector bundles on curves are essentially reductions to a Riemann–Roch calculation.

The quiver side The same is true for quiver representations. But what do I mean with "the same"?!

Often, the Euler form is defined ad hoc on $\mathbb{Z}^{Q_0}$ (the numerical Grothendieck group of the category of representations of $Q$) as \[ \langle-,-\rangle\colon \mathbb{Z}^{Q_0} \times \mathbb{Z}^{Q_0} \to \mathbb{Z}: (\mathbf{d},\mathbf{e}) \mapsto \sum_{i \in Q_0} d_i e_i - \sum_{a \in Q_1} d_{\operatorname{s}(a)} e_{\operatorname{t}(a)}. \] The Riemann–Roch theorem for curves becomes the 4-term exact sequence \[ 0 \to \operatorname{Hom}(V, W) \to \bigoplus_{i\in Q_0}\operatorname{Hom}_{\mathbb{C}}(V_i,W_i) \to \bigoplus_{\alpha\in Q_1}\operatorname{Hom}_{\mathbb{C}}(V_{\operatorname{s}(\alpha)},W_{\operatorname{t}(\alpha)}) \to \operatorname{Ext}(V, W) \to 0, \] which explains how this Euler form is indeed computing the alternating sum of Hom and Ext. Whenever you do a Riemann–Roch calculation studying moduli of vector bundles, chances are you'll be doing an Euler form calculation when studying quiver moduli. This is particularly visible in Projectivity and effective global generation of determinantal line bundles on quiver moduli, a joint paper with Chiara Damiolini, Hans Franzen, Victoria Hoskins, Svetlana Makarova, and Tuomas Tajakka, but it is also visible in the QuiverTools writeup.

The writeup which was posted today gives (we hope) a nice summary of how algorithms for quiver moduli are built from more basic ones, and how one gets diverse explicit methods for this class of varieties. In my opinion, they allow (almost) as many explicit calculations as partial flag varieties and toric varieties, and there is a non-trivial intersection with both classes. There are certainly calculations feasible for both those classes of varieties for which no quiver moduli version can exist, but it certainly is a good motivation to try and get as close as possible!