Follow-up on $\int\mathrm{td}_X^{1/2}$ for hyperkähler varieties
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:
- in Section 3 of Derived categories of hyper-Kähler manifolds: extended Mukai vector and integral structure (a preprint actually featured in fortnightly links #126) Thorsten already explained how to determine $\int\mathrm{td}_X^{1/2}$ from known invariants explicitly for OG6 and OG10 (and not just implicitly using Chern numbers)
- whilst no-one of us found the Chern numbers of $\mathrm{K}3^{[5]}$ in the literature, Jieao computed them using the method of On the cobordism class of the Hilbert scheme of a surface using Bott's formula and his own Julia library IntersectionTheory
- all the explicit (and somewhat ad-hoc) work to work with Todd classes and Chern classes can be done in a super-nice way using Manfred Lehn's and Christoph Sorger's Sage library called Chow, which implements the manipulations I did (and many, many more) in a pretty Sage library
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):
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)- 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
- copy the
chow
directory insagetrac-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!