After my previous post on $\int\mathrm{td}_X^{1/2}$ for hyperkähler varieties in which I naively did an exercise left to the reader in a preprint, Thorsten Beckmann and Jieao Song have told me three really interesting things:

With the latter, the code (in case you still want to do the hands-on approach) becomes super-transparent, and is available as this gist. This nicely abstracts away all the explicit implementations I did, but now it becomes easily modifiable and extendable. Great!

I've modified the little writeup in the pdf to reflect this.

Chern numbers of $\mathrm{K}3^{[5]}$, $\mathrm{K}3^{[6]}$ and $\mathrm{K}3^{[7]}$

Jieao Song implemented the computation of these Chern numbers (and much more!) in his Julia package IntersectionTheory (see also the documentation for this). He managed to optimise things so that the computation for $\mathrm{K}3^{[5]}$, $\mathrm{K}3^{[6]}$ and $\mathrm{K}3^{[7]}$ works, and it gives the following results:

For $\mathrm{K}3^{[5]}$: \[ \begin{aligned} \mathrm{c}_2^5 &= 126867456 \\ \mathrm{c}_4\mathrm{c}_2^3 &= 52697088 \\ \mathrm{c}_4^2\mathrm{c}_2 &= 21921408 \\ \mathrm{c}_6\mathrm{c}_2^2 &= 12168576 \\ \mathrm{c}_6\mathrm{c}_4 &= 5075424 \\ \mathrm{c}_8\mathrm{c}_2 &= 1774080 \\ \mathrm{c}_{10} &= 176256 \\ \end{aligned} \]

For $\mathrm{K}3^{[6]}$: \[ \begin{aligned} \mathrm{c}_2^6 &= 9277276480 \\ \mathrm{c}_4\mathrm{c}_2^4 &= 3910848640 \\ \mathrm{c}_4^2\mathrm{c}_2^2 &= 1650311720 \\ \mathrm{c}_6\mathrm{c}_2^3 &= 927397840 \\ \mathrm{c}_4^3 &= 697106648 \\ \mathrm{c}_6\mathrm{c}_4\mathrm{c}_2 &= 392090040 \\ \mathrm{c}_8\mathrm{c}_2^2 &= 139942280 \\ \mathrm{c}_6^2 &= 93495320 \\ \mathrm{c}_8\mathrm{c}_4 &= 59314272 \\ \mathrm{c}_{10}\mathrm{c}_2 &= 14450680 \\ \mathrm{c}_{12} &= 1073720 \end{aligned} \]

For $\mathrm{K}3^{[7]}$: \[ \begin{aligned} \mathrm{c}_{2}^7 & = 765374164992 \\ \mathrm{c}_{4}\mathrm{c}_{2}^5 & = 326732507136 \\ \mathrm{c}_{4}^2\mathrm{c}_{2}^3 & = 139582386432 \\ \mathrm{c}_{6}\mathrm{c}_{2}^4 & = 79324710912 \\ \mathrm{c}_{4}^3\mathrm{c}_{2} & = 59674012416 \\ \mathrm{c}_{6}\mathrm{c}_{4}\mathrm{c}_{2}^2 & = 33935583744 \\ \mathrm{c}_{6}\mathrm{c}_{4}^2 & = 14528215296 \\ \mathrm{c}_{8}\mathrm{c}_{2}^3 & = 12357114624 \\ \mathrm{c}_{10}\mathrm{c}_{2}^2 & = 1324608768 \\ \mathrm{c}_{8}\mathrm{c}_{6} & = 1296158976 \\ \mathrm{c}_{6}^2\mathrm{c}_{2} & = 8273055744 \\ \mathrm{c}_{8}\mathrm{c}_{4}\mathrm{c}_{2} & = 5296568832 \\ \mathrm{c}_{10}\mathrm{c}_{4} & = 569044224 \\ \mathrm{c}_{12}\mathrm{c}_{2} & = 102477312 \\ \mathrm{c}_{14} & = 5930496 \end{aligned} \]

A demo for the code (in case installing Julia is not something for you) can be run online. He has also optimised things, so that he can compute the Chern numbers of $\mathrm{K3}^{[n]}$ for $n\leq 10$, see the documentation. Great!

Instructions for installing Chow

The instructions on the library's website ask you to recompile all of Sage, which is a bit overkill. Jieao Song also pointed out an easier way (modified to work on Mac OS X):

  1. git clone --filter=blob:none --depth 1 git://github.com/sagemath/sagetrac-mirror.git --branch u/gh-sorger-c/chow contains the library (and much more which we will ignore)
  2. apply the patches
    • sed -i .bak "s/multi_polynomial_ring_generic/multi_polynomial_ring_base/" chow/finite_ring_extension.py
    • sed -i .bak "s/normal_basis()/normal_basis(algorithm=\"singular\")/" chow/ring.py
  3. copy the chow directory in sagetrac-mirror/src/sage/schemes to whatever folder has the role of /Applications/SageMath/local/lib/python3.8/site-packages/sage/schemes in my installation

Blogging is great fun when you get to learn from your readers like this! Thanks!