The functionality outlined below, and much more, is implemented in Hodge diamond cutter, which can be used in Sage. If you use it for your research, please cite it using DOI.

Continuing the series of blogposts on Hodge numbers of interesting varieties and ways of computing them, we have arrived at partial flag varieties. Previously we have also computed

For the Hodge numbers of $G/P$ it is known that

  • they are concentrated on the diagonal, i.e. only the $\mathrm{h}^{p,p}$ are nonzero
  • each cohomology space $\mathrm{H}^i(X,\mathbb{C})$ is generated by Schubert cells

It is therefore enough to enumerate the Schubert cells, and determine their dimensions. Recall that the parabolic subgroup $P$ is determined up to conjugation by specifying which roots one wishes to include, and one obtains the subgroup $W_P$ of the Weyl group $W$ of $G$ generated by those simple reflections.

One then has to compute the cosets of $W_P$ in $W$, and determine the shortest element in each class. The Schubert cells correspond to these cosets, and their dimension is the length of the shortest element. Hence the following code gives the diagonal of the Hodge diamond.

A little while ago I said I might combine all these Hodge diamond related snippets. I have done so, and I'll discuss that a little later.