We want to implement filtered bundles and their associated spectral sequences.
A filtered bundle is given by a list of its associated graded pieces, in the appropriate order. This is implemented.
Attached to a filtered bundle we want to have the associated spectral sequence. This is work-in-progress. I believe we can encode the first page of the spectral sequence using a sparse data structure, namely a dictionary with keys (i,j) and values the Weyl characters.
Now, this is not the structure to do computations with. Rather, I think we need a "basic" spectral sequence gadget, which integers as its values. The reasons are:
- sometimes we don't have an equivariant spectral sequence (like with Koszul computations), this is a "dimension-valued" spectral sequence
- even if we have an equivariant spectral sequence, we only care about the isotypical components! therefore, everything reduces to a "multiplicity-valued" spectral sequence, where simply count the multiplicities
For these data structures, we care about knowing whether things degenerate on the E_1 page. This is now an easy computation by inspecting the shape of the spectral sequence, namely, we look at all possible non-zero differentials, and we need to see if there are non-trivial ones to take into account.
This gives us the following:
Some other things to do:
We want to implement filtered bundles and their associated spectral sequences.
A filtered bundle is given by a list of its associated graded pieces, in the appropriate order. This is implemented.
Attached to a filtered bundle we want to have the associated spectral sequence. This is work-in-progress. I believe we can encode the first page of the spectral sequence using a sparse data structure, namely a dictionary with keys
(i,j)and values the Weyl characters.Now, this is not the structure to do computations with. Rather, I think we need a "basic" spectral sequence gadget, which integers as its values. The reasons are:
For these data structures, we care about knowing whether things degenerate on the E_1 page. This is now an easy computation by inspecting the shape of the spectral sequence, namely, we look at all possible non-zero differentials, and we need to see if there are non-trivial ones to take into account.
This gives us the following:
SpectralSequencetype, which has a type parameterT, which is eitherBigIntorWeylCharacterfor usisotypical_componentswhich takes a SpectralSequence with Weyl characters and creates a list (or maybe Dict, with keys the Weyl characters) of spectra sequences with multiplicitiesdegenerates_on_first_pagewhich checks that there are no possible non-zero differentials at any stage of the spectral sequenceE_oo_page(this is a bad name), which assertsdegenerates_on_first_page, this gives the cohomology (either as integers, or as Weyl characters if equivariant) of the filtered bundle, assuming everything degeneratesSome other things to do:
src/FilteredBundle.jl