Charles De Clercq

Équipe Topologie Algébrique




BBBdec — Effective Bialynicki-Birula-Brosnan motivic decompositions


BBBdec is a SageMath script computing Bialynicki-Birula-Brosnan motivic decompositions of projective homogeneous varieties for absolutely simple algebraic groups of inner type, following Brosnan's On motivic decompositions arising from the method of Bialynicki-Birula (Thm. 7.4).

Given an absolutely simple group G with Tits index (ΔG, Θ0) (all groups will be assumed with this assumptions in the sequel) and a projective G-homogeneous variety XΘ,G, the script computes the decomposition in terms of the underlying combinatorics :

M(XΘ,G) ≃ ⊕w ∈ 𝒲 M(XΘw,Gan){ℓ(w)}

where the sum runs over the set 𝒲 of minimal length double coset representatives for WΘ0\W/WΘ, and Gan is the anisotropic kernel of G.

The script is described in "Effective Bialynicki-Birula-Brosnan motivic decompositions", see [PDF]



Download


BBBdec.py — SageMath 9.5 script.

Usage: sage BBBdec.py --dynkin TYPE --Sigma0 LIST --J LIST [options]

Main flags:

FlagMeaning
--dynkin TYPEDynkin type of G (e.g. A4, D5, E6)
--Sigma0 LISTComma-separated indices of the anisotropic kernel Θ0
--J LISTComma-separated indices of the parabolic Θ
--Sigma0comp LISTComplement of Sigma0 (alternative input)
--Jcomp LISTComplement of J (alternative input)
--tatetraceCompute Tate trace only
--use-root-testUse root-based left-minimality test
--wordsShow minimal system of representatives
--progressPrint progress during enumeration

Note on conventions.

The script outputs using the convention opposite to Tits for the types of projective homogeneous varieties: under our convention, the Borel variety has type ΔG (not the empty set). Input through Tits convention is done with --J, and with our convention with its complementary --Jcomp. Input --Sigma0 correponds to Θ0 (vertices for ΔGan); --Sigma0comp allows entering complement directly, which is convenient for large subsets.



Examples for each Dynkin diagram type


(Display minimal systems of double cosets representatives with --word)

Example 1 — Type An
Flags of ideals. Let A be a central simple algebra, say of degree 6 and index 3. Consider the variety X(1,2,3;A) of flags of right ideals in A of reduced dimension 1,2,3.

sage BBBdec.py --dynkin=A5 --Sigma0comp=3 --Jcomp=1,2,3 === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['A', 5], Sigma0=[1, 2, 4, 5], J=[4, 5] === AGGREGATED TERMS === mult=1 | Levi_type=A2xA2 | Jwcomp=[1, 2] | twist=0 | abs_rank=6 | contrib=6 | sample_w=1 mult=1 | Levi_type=A2xA2 | Jwcomp=[1, 2, 4] | twist=1 | abs_rank=18 | contrib=18 | sample_w=s3 mult=1 | Levi_type=A2xA2 | Jwcomp=[1, 2, 4] | twist=2 | abs_rank=18 | contrib=18 | sample_w=s3*s2 mult=1 | Levi_type=A2xA2 | Jwcomp=[1, 2, 4] | twist=3 | abs_rank=18 | contrib=18 | sample_w=s3*s2*s1 mult=1 | Levi_type=A2xA2 | Jwcomp=[1, 4, 5] | twist=4 | abs_rank=18 | contrib=18 | sample_w=s3*s4*s2*s3 mult=1 | Levi_type=A2xA2 | Jwcomp=[1, 4, 5] | twist=5 | abs_rank=18 | contrib=18 | sample_w=s3*s4*s2*s3*s1 mult=1 | Levi_type=A2xA2 | Jwcomp=[1, 4, 5] | twist=6 | abs_rank=18 | contrib=18 | sample_w=s3*s4*s2*s3*s1*s2 mult=1 | Levi_type=A2xA2 | Jwcomp=[4, 5] | twist=9 | abs_rank=6 | contrib=6 | sample_w=s3*s4*s5*s2*s3*s4*s1*s2*s3 === STATS === dynkin: ['A', 5] Sigma0: [1, 2, 4, 5] J: [4, 5] total_W: 720 WI_order: 36 WJ_order: 6 WJ_reps: 120 bimin_reps: 8 aggregated_classes: 8 covered_tate: 120 target_tate: 120 elapsed_sec: 3.211242437362671

Result: M(X(1,2,3;A)) ≃ M(X(1,2;D)){0} ⊕ M(X(1,2,4;D))⊕3{1,2,3} ⊕ M(X(1,4,5;D))⊕3{4,5,6} ⊕ M(X(4,5;D)){9}
where D is the division algeba Brauer-equivalent to A.


Example 2 — Type Bn
Orthogonal Grassmannians. Let q be a non-degerenate quadratic form of dimension 13, and Witt index 2. Consider the variety X(2,3;q) of flags of isotropic subspaces for q of dimension 2,3.

sage BBBdec.py --dynkin=B6 --Sigma0comp=1,2 --progress --every=100 --Jcomp=2,3 === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['B', 6], Sigma0=[3, 4, 5, 6], J=[1, 4, 5, 6] === AGGREGATED TERMS === mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=0 | abs_rank=8 | contrib=8 mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=1 | abs_rank=8 | contrib=8 mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=2 | abs_rank=8 | contrib=8 mult=1 | Levi_type=B4 | Jwcomp=[3, 4] | twist=2 | abs_rank=48 | contrib=48 mult=1 | Levi_type=B4 | Jwcomp=[3, 4] | twist=3 | abs_rank=48 | contrib=48 mult=1 | Levi_type=B4 | Jwcomp=[4] | twist=4 | abs_rank=24 | contrib=24 mult=1 | Levi_type=B4 | Jwcomp=[4] | twist=5 | abs_rank=24 | contrib=24 mult=1 | Levi_type=B4 | Jwcomp=[4, 5] | twist=6 | abs_rank=96 | contrib=96 mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=8 | abs_rank=8 | contrib=8 mult=2 | Levi_type=B4 | Jwcomp=[3] | twist=9 | abs_rank=8 | contrib=16 mult=2 | Levi_type=B4 | Jwcomp=[3] | twist=10 | abs_rank=8 | contrib=16 mult=1 | Levi_type=B4 | Jwcomp=[4] | twist=10 | abs_rank=24 | contrib=24 mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=11 | abs_rank=8 | contrib=8 mult=1 | Levi_type=B4 | Jwcomp=[3, 4] | twist=11 | abs_rank=48 | contrib=48 mult=1 | Levi_type=B4 | Jwcomp=[4] | twist=11 | abs_rank=24 | contrib=24 mult=1 | Levi_type=B4 | Jwcomp=[3, 4] | twist=12 | abs_rank=48 | contrib=48 mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=17 | abs_rank=8 | contrib=8 mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=18 | abs_rank=8 | contrib=8 mult=1 | Levi_type=B4 | Jwcomp=[3] | twist=19 | abs_rank=8 | contrib=8 === STATS === dynkin: ['B', 6] Sigma0: [3, 4, 5, 6] J: [1, 4, 5, 6] total_W: 46080 WI_order: 384 WJ_order: 96 WJ_reps: 480 bimin_reps: 21 aggregated_classes: 19 covered_tate: 480 target_tate: 480 elapsed_sec: 75.35865902900696

Result: M(X(2,3;q)) ≃ M(X(3;qan))⊕12{0,1,2,8,9,9,10,10,11,17,18,19}⊕M(X(3,4;qan))⊕4{2,3,11,12}⊕M(X(4,5;qan)){6}⊕M(X(4;qan))⊕4{4,5,10,11}
where X( — ;qan) are varieties of flags of isotropic subspaces for the anisotropic part of q.


Example 3 — Type Cn
Flags of isotropic ideals for symplectic involution. Let (A,σ) be central simple algebra of degree 12, index 2, of Witt index 1. Consider the variety X(2;(A,σ)) of isotropic ideals with respect to σ of reduced dimension 2.

sage BBBdec.py --dynkin=C6 --Sigma0comp=2 --Jcomp=2 === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['C', 6], Sigma0=[1, 3, 4, 5, 6], J=[1, 3, 4, 5, 6] === AGGREGATED TERMS === mult=1 | Levi_type=A1xC4 | Jwcomp=[] | twist=0 | abs_rank=1 | contrib=1 mult=1 | Levi_type=A1xC4 | Jwcomp=[1, 3] | twist=1 | abs_rank=16 | contrib=16 mult=1 | Levi_type=A1xC4 | Jwcomp=[4] | twist=4 | abs_rank=24 | contrib=24 mult=1 | Levi_type=A1xC4 | Jwcomp=[1] | twist=9 | abs_rank=2 | contrib=2 mult=1 | Levi_type=A1xC4 | Jwcomp=[1, 3] | twist=10 | abs_rank=16 | contrib=16 mult=1 | Levi_type=A1xC4 | Jwcomp=[] | twist=19 | abs_rank=1 | contrib=1 === STATS === dynkin: ['C', 6] Sigma0: [1, 3, 4, 5, 6] J: [1, 3, 4, 5, 6] total_W: 46080 WI_order: 768 WJ_order: 768 WJ_reps: 60 bimin_reps: 6 aggregated_classes: 6 covered_tate: 60 target_tate: 60 elapsed_sec: 9.803762197494507

Result: X(2;(A,σ)) ≃ ℤ{0} ⊕ M(SB(A) x X1,Gan){1} ⊕ M(X2,Gan){4} ⊕ M(SB(A)){9} ⊕ M(SB(A) x X1,Gan){10} ⊕ ℤ{19}
where SB(A) is the Severi-Brauer variety of A and Gan is the anisotropic kernel of G.


Example 4 — Type Dn
Orthogonal Grassmannians (recovering Brosnan, Ex. 7.6). Let q be a 12-dimensional quadratic form of Witt index 1, and X(2;q) the variety of isotropic planes.

sage BBBdec.py --dynkin=D6 --Sigma0comp=1 --Jcomp=2 --words === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['D', 6], Sigma0=[2, 3, 4, 5, 6], J=[1, 3, 4, 5, 6] === AGGREGATED TERMS === mult=1 | Levi_type=D5 | Jwcomp=[2] | twist=0 | abs_rank=10 | contrib=10 | sample_w=1 mult=1 | Levi_type=D5 | Jwcomp=[3] | twist=2 | abs_rank=40 | contrib=40 | sample_w=s1*s2 mult=1 | Levi_type=D5 | Jwcomp=[2] | twist=9 | abs_rank=10 | contrib=10 | sample_w=s1*s2*s3*s4*s6*s5*s4*s3*s2 === STATS === dynkin: ['D', 6] Sigma0: [2, 3, 4, 5, 6] J: [1, 3, 4, 5, 6] total_W: 23040 WI_order: 1920 WJ_order: 384 WJ_reps: 60 bimin_reps: 3 aggregated_classes: 3 covered_tate: 60 target_tate: 60 elapsed_sec: 7.88372015953064

Result: M(X(2;q)) ≃ M(X(1;qan)){0} ⊕ M(X(2;qan)){2} ⊕ M(X(1;qan)){9}
where X( — ;qan) are orthogonal Grassmanians for qan.


Example 5 — Type E6
Let G be a group of type E6, of Tits index given by Θ0={2,3,4,5} (anisotropic kernel of type D4). Consider a projective G-homogeneous variety of type {1}.

sage BBBdec.py --dynkin=E6 --Sigma0comp=1,6 --Jcomp=1 --words === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['E', 6], Sigma0=[2, 3, 4, 5], J=[2, 3, 4, 5, 6] === AGGREGATED TERMS === mult=1 | Levi_type=D4 | Jwcomp=[] | twist=0 | abs_rank=1 | contrib=1 | sample_w=1 mult=1 | Levi_type=D4 | Jwcomp=[3] | twist=1 | abs_rank=8 | contrib=8 | sample_w=s1 mult=1 | Levi_type=D4 | Jwcomp=[2] | twist=5 | abs_rank=8 | contrib=8 | sample_w=s6*s5*s4*s3*s1 mult=1 | Levi_type=D4 | Jwcomp=[] | twist=8 | abs_rank=1 | contrib=1 | sample_w=s1*s3*s4*s5*s2*s4*s3*s1 mult=1 | Levi_type=D4 | Jwcomp=[5] | twist=9 | abs_rank=8 | contrib=8 | sample_w=s6*s1*s3*s4*s5*s2*s4*s3*s1 mult=1 | Levi_type=D4 | Jwcomp=[] | twist=16 | abs_rank=1 | contrib=1 | sample_w=s6*s5*s4*s3*s2*s4*s5*s6*s1*s3*s4*s5*s2*s4*s3*s1 === STATS === dynkin: ['E', 6] Sigma0: [2, 3, 4, 5] J: [2, 3, 4, 5, 6] total_W: 51840 WI_order: 192 WJ_order: 1920 WJ_reps: 27 bimin_reps: 6 aggregated_classes: 6 covered_tate: 27 target_tate: 27 elapsed_sec: 4.618343830108643

Result: M(X1,G) ≃ ℤ{0} ⊕ M(X1,Gan){1} ⊕ M(X3,Gan){5} ⊕ ℤ{8} ⊕ M(X4,Gan){9} ⊕ ℤ{16}


Example 6 — Type E7
Let G be a group of type E7, of Tits index given by Θ0={2,3,4,5} (anisotropic kernel of type D4). Consider a projective G-homogeneous variety of type {1}.

sage BBBdec.py --dynkin=E7 --Sigma0comp=1,6 --Jcomp=2 === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['E', 7], Sigma0=[2, 3, 4, 5, 7], J=[1, 3, 4, 5, 6, 7] === AGGREGATED TERMS === mult=1 | Levi_type=D4xA1 | Jwcomp=[2] | twist=0 | abs_rank=8 | contrib=8 mult=1 | Levi_type=D4xA1 | Jwcomp=[3, 7] | twist=4 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[5] | twist=4 | abs_rank=8 | contrib=8 mult=1 | Levi_type=D4xA1 | Jwcomp=[4, 7] | twist=6 | abs_rank=48 | contrib=48 mult=1 | Levi_type=D4xA1 | Jwcomp=[2] | twist=9 | abs_rank=8 | contrib=8 mult=1 | Levi_type=D4xA1 | Jwcomp=[2, 3] | twist=10 | abs_rank=32 | contrib=32 mult=1 | Levi_type=D4xA1 | Jwcomp=[3, 7] | twist=11 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[5, 7] | twist=11 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[3, 5] | twist=13 | abs_rank=32 | contrib=32 mult=1 | Levi_type=D4xA1 | Jwcomp=[4, 7] | twist=13 | abs_rank=48 | contrib=48 mult=1 | Levi_type=D4xA1 | Jwcomp=[2, 7] | twist=15 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[2, 5, 7] | twist=16 | abs_rank=64 | contrib=64 mult=1 | Levi_type=D4xA1 | Jwcomp=[5] | twist=17 | abs_rank=8 | contrib=8 mult=1 | Levi_type=D4xA1 | Jwcomp=[4, 7] | twist=19 | abs_rank=48 | contrib=48 mult=1 | Levi_type=D4xA1 | Jwcomp=[5] | twist=19 | abs_rank=8 | contrib=8 mult=1 | Levi_type=D4xA1 | Jwcomp=[2, 7] | twist=20 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[3, 5] | twist=20 | abs_rank=32 | contrib=32 mult=1 | Levi_type=D4xA1 | Jwcomp=[2, 3] | twist=23 | abs_rank=32 | contrib=32 mult=1 | Levi_type=D4xA1 | Jwcomp=[3, 7] | twist=24 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[5, 7] | twist=24 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[4, 7] | twist=26 | abs_rank=48 | contrib=48 mult=1 | Levi_type=D4xA1 | Jwcomp=[2] | twist=27 | abs_rank=8 | contrib=8 mult=1 | Levi_type=D4xA1 | Jwcomp=[3, 7] | twist=31 | abs_rank=16 | contrib=16 mult=1 | Levi_type=D4xA1 | Jwcomp=[5] | twist=32 | abs_rank=8 | contrib=8 mult=1 | Levi_type=D4xA1 | Jwcomp=[2] | twist=36 | abs_rank=8 | contrib=8 === STATS === dynkin: ['E', 7] Sigma0: [2, 3, 4, 5, 7] J: [1, 3, 4, 5, 6, 7] total_W: 2903040 WI_order: 384 WJ_order: 5040 WJ_reps: 576 bimin_reps: 25 aggregated_classes: 25 covered_tate: 576 target_tate: 576 elapsed_sec: 251.78913164138794

Example 7 — Type E8.
Let G be a group of type E8, of Tits index given by Θ0={2,3,4,5,6,7,8} (anisotropic kernel of type D7). Consider a projective homogeneous variety of type {8}.

sage BBBdec.py --dynkin=E8 --Sigma0comp=1 --Jcomp=8 === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['E', 8], Sigma0=[2, 3, 4, 5, 6, 7, 8], J=[1, 2, 3, 4, 5, 6, 7] === AGGREGATED TERMS === mult=1 | Levi_type=D7 | Jwcomp=[8] | twist=0 | abs_rank=14 | contrib=14 mult=1 | Levi_type=D7 | Jwcomp=[2] | twist=7 | abs_rank=64 | contrib=64 mult=1 | Levi_type=D7 | Jwcomp=[7] | twist=18 | abs_rank=84 | contrib=84 mult=1 | Levi_type=D7 | Jwcomp=[3] | twist=29 | abs_rank=64 | contrib=64 mult=1 | Levi_type=D7 | Jwcomp=[8] | twist=45 | abs_rank=14 | contrib=14 === STATS === dynkin: ['E', 8] Sigma0: [2, 3, 4, 5, 6, 7, 8] J: [1, 2, 3, 4, 5, 6, 7] total_W: 696729600 WI_order: 322560 WJ_order: 2903040 WJ_reps: 240 bimin_reps: 5 aggregated_classes: 5 covered_tate: 240 target_tate: 240 elapsed_sec: 260.31871008872986

Result: M(X8,G) ≃ M(X1,Gan){0} ⊕ M(X6,Gan){7} ⊕ M(X2,Gan){18} ⊕ M(X7,Gan){29} ⊕ M(X1,Gan){45}.


Example 8 — Type F4.
Let G is a group of type F4, of Tits index given by Θ0={1,2,3} (anisotropic kernel of type B3). Consider a projective G-homogeneous variety of type {2}.

sage BBBdec.py --dynkin=F4 --Sigma0comp=4 --Jcomp=2 --progress --every=100 === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['F', 4], Sigma0=[1, 2, 3], J=[1, 3, 4] === AGGREGATED TERMS === mult=1 | Levi_type=B3 | Jwcomp=[2] | twist=0 | abs_rank=12 | contrib=12 mult=1 | Levi_type=B3 | Jwcomp=[1, 2] | twist=3 | abs_rank=24 | contrib=24 mult=1 | Levi_type=B3 | Jwcomp=[1, 3] | twist=6 | abs_rank=24 | contrib=24 mult=1 | Levi_type=B3 | Jwcomp=[1, 2] | twist=9 | abs_rank=24 | contrib=24 mult=1 | Levi_type=B3 | Jwcomp=[2] | twist=13 | abs_rank=12 | contrib=12 === STATS === dynkin: ['F', 4] Sigma0: [1, 2, 3] J: [1, 3, 4] total_W: 1152 WI_order: 48 WJ_order: 12 WJ_reps: 96 bimin_reps: 5 aggregated_classes: 5 covered_tate: 96 target_tate: 96 elapsed_sec: 3.9572551250457764

Result: M(X2,G) ≃ M(X2,Gan){0} ⊕ M(X{1,2},Gan){3} ⊕ M(X{1,3},Gan){6} ⊕ M(X{1,2},Gan){9} ⊕ M(X2,Gan){13}.


Example 9 — Type G2 (split case fork).
Let G be a split group of type G2. Consider a projective G-homogeneous variety of type {1,2}.

sage BBBdec.py --dynkin=G2 --Sigma0= --Jcomp=1,2 === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['G', 2], Sigma0=[], J=[] === DECOMPOSITION (SPLIT: POINCARE QUOTIENT) === Z{0} + 1 Z{1} + 2 Z{2} + 2 Z{3} + 2 Z{4} + 2 Z{5} + 2 Z{6} + 1 === STATS === dynkin: ['G', 2] Sigma0: [] J: [] elapsed_sec: 0.037103891372680664 split_method: poincare_quotient

Result: M(X{1,2},G) ≃ ℤ{0} ⊕ ℤ{1}⊕2 ⊕ ℤ{2}⊕2 ⊕ ℤ{3}⊕2 ⊕ ℤ{4}⊕2 ⊕ ℤ{5}⊕2 ⊕ ℤ{6}.


Example 10 — Tate trace mode.
Let G be a group of type E6, of Tits index given by Θ0={2,3,4,5} (anisotropic kernel of type D4).

sage BBBdec.py --dynkin=E6 --Sigma0comp=1,6 --Jcomp=1,6 --progress --every=100 --tatetrace === BBBdec — Bialynicki-Birula-Brosnan decomposition (Brosnan Thm. 7.4) === dynkin=['E', 6], Sigma0=[2, 3, 4, 5], J=[2, 3, 4, 5] === TATE TRACE === mult=1 | twist=0 | contrib=1 mult=2 | twist=8 | contrib=2 mult=2 | twist=16 | contrib=2 mult=1 | twist=24 | contrib=1 === STATS === dynkin: ['E', 6] Sigma0: [2, 3, 4, 5] J: [2, 3, 4, 5] elapsed_sec: 37.90405511856079 tate_trace: True

Result: Tr(X{1,6},G) = ℤ{0} ⊕ ℤ{8}⊕2 ⊕ ℤ{16}⊕2 ⊕ ℤ{24}.