Since the pre-release
of PartialFlagVarieties.jl
at v0.1.0: 0.2.0 and 0.2.1 were housekeeping, 0.3.0 adds maps between flag
varieties and renames a few things while the leading zero still allows it, and 0.3.1
removes a dependency the package did not need. So the current version is 0.3.1, but
0.3.0 is the one worth reading about.
Maps between flag varieties
For $I \subseteq J$ we have $\mathrm{P}_J \subseteq \mathrm{P}_I$, hence a projection $q \colon \mathrm{G}/\mathrm{P}_J \to \mathrm{G}/\mathrm{P}_I$. You can now pull equivariant bundles back along $q$, and push them forward:
X, D = Gr(3, 6), flag_variety(6, [1, 3])
F = pullback(D, universal_subbundle(X))
rank.(graded_pieces(F)) # [1, 2]
graded_pieces(F) == tautological_bundles(D) # true
pushforward(X, structure_sheaf(D)) # R⁰ = E(0)
The pullback is only filtered: the unipotent radical of $\mathrm{P}_J$ acts on the fibre, so $q^*\mathcal{E}$ does not split. Its associated graded is the branching of the fibre from $\mathrm{L}_I$ to $\mathrm{L}_J$, and above it recovers the tautological filtration $0 \to \mathcal{U}_1 \to \mathcal{U}_3 \to \mathcal{U}_3/\mathcal{U}_1 \to 0$ on $\mathrm{Fl}(1,3;6)$, subbundle first.
The pushforward is the Borel–Weil–Bott theorem for $\mathrm{L}_I$ instead of
for $\mathrm{G}$: the same $\rho$-shifted fold into a dominant chamber, reflecting only
in the nodes unmarked in $I$. Taking $I = \emptyset$, so that the target is a point,
gives back cohomology. Since $\mathbf{R}q_*$ of an irreducible sits in a single degree,
the Leray spectral sequence degenerates, and that identity is what the tests check across
every type.
What moved
0.x means the names are not frozen, and several changed in 0.3.0:
rank_bundleis nowrank, andfiber_dimensionis nowdegree;rankof a variety is gone, since a rank belongs to the group: writerank(dynkin_type(X));Cohomologystores its top degree asmax_degreerather thandim_variety, since for higher direct images it is the relative dimension.
Two behaviours changed as well. Bundles now compare as unordered direct sums, a direct sum having no order. And a weight that is not dominant for the Levi is rejected when a bundle is constructed: it is the highest weight of nothing, and it used to be tolerated, then read as zero by some functions and pushed through Borel–Weil–Bott by others.
Trying it out
The package is not in the General registry, because one of its dependencies is not
either, so that one comes first, and rev pins the release rather than tracking
main:
using Pkg
Pkg.add(url="https://github.com/HomogeneousTools/ZeroLocus62", subdir="julia")
Pkg.add(url="https://github.com/HomogeneousTools/PartialFlagVarieties.jl",
rev="ea4aa9e") # v0.3.1
The documentation has the full API. Issues and suggestions on the repository remain very welcome, and still cheap to act on.