Using the results of my article "Rouquier blocks of the cyclotomic Arikie-Koike algebras",
we have been able to create GAP functions which calculate and display the Rouquier blocks
of any cyclotomic Ariki-Koike algebra (i.e., any cyclotomic Hecke algebra associated to
a complex reflection group of type G(d,1,r)).
These functions are contained in the file
RBAK.g (zip).
Let us explain how they are used. From now on, let W be a complex reflection group of type G(d,1,r).
Note that the Rouquier blocks associated with no essential hyperplane for W are trivial (each character is a block by itself).
AKEssentialHuperplanes(W)This function returns the essential hyperplanes for W.
gap> W:=ComplexReflectionGroup(3,1,2);; gap> EssentialHyperplanes(W); m_1-m_2-n=0 m_0-m_1-n=0 m_0-m_2-n=0 m_1-m_2=0 m_0-m_1=0 m_0-m_2=0 m_1-m_2+n=0 m_0-m_1+n=0 m_0-m_2+n=0 n=0
DisplayAKAllBlocks(W)It displays all essential hyperplanes for W and the Rouquier blocks associated with each.
gap> W:=ComplexReflectionGroup(3,1,2);; gap> DisplayAKAllBlocks(W); m_1-m_2-n=0 [ [ "..11" ], [ ".11.", ".1.1", "..2" ], [ ".2." ], [ "1..1" ], [ "1.1." ], [ "11.." ], [ "2.." ] ] m_0-m_1-n=0 [ [ ".11." ], [ "11..", "1.1.", ".2." ], [ "2.." ], [ ".1.1" ], [ "1..1" ], [ "..11" ], [ "..2" ] ] m_0-m_2-n=0 [ [ "..11" ], [ "11..", "1..1", "..2" ], [ "2.." ], [ ".1.1" ], [ "1.1." ], [ ".11." ], [ ".2." ] ] m_1-m_2=0 [ [ ".11.", "..11" ], [ ".2.", "..2" ], [ ".1.1" ], [ "1.1.", "1..1" ], [ "11.." ], [ "2.." ] ] m_0-m_1=0 [ [ "11..", ".11." ], [ "2..", ".2." ], [ "1.1." ], [ "1..1", ".1.1" ], [ "..11" ], [ "..2" ] ] m_0-m_2=0 [ [ "11..", "..11" ], [ "2..", "..2" ], [ "1..1" ], [ "1.1.", ".1.1" ], [ ".11." ], [ ".2." ] ] m_1-m_2+n=0 [ [ ".11." ], [ ".1.1", "..11", ".2." ], [ "..2" ], [ "1.1." ], [ "1..1" ], [ "11.." ], [ "2.." ] ] m_0-m_1+n=0 [ [ "11.." ], [ "1.1.", ".11.", "2.." ], [ ".2." ], [ "1..1" ], [ ".1.1" ], [ "..11" ], [ "..2" ] ] m_0-m_2+n=0 [ [ "11.." ], [ "1..1", "..11", "2.." ], [ "..2" ], [ "1.1." ], [ ".1.1" ], [ ".11." ], [ ".2." ] ] n=0 [ [ "..11", "..2" ], [ ".1.1" ], [ ".11.", ".2." ], [ "1..1" ], [ "1.1." ], [ "11..", "2.." ] ]
AKAllBlocks(W)It displays the same data as
DisplayAllBlocks(W)
in a way easy to work with:
the essential hyperplanes are represented by the vectors cond
and
the characters are defined by their indexes in the list
CharNames(W)
gap> W:=ComplexReflectionGroup(3,1,2);; gap> AKAllBlocks(W); [ rec( cond := [ 0, 1, -1, -1 ], block := [ [ 6 ], [ 4, 5, 9 ], [ 8 ], [ 3 ], [ 2 ], [ 1 ], [ 7 ] ] ), rec( cond := [ 1, -1, 0, -1 ], block := [ [ 4 ], [ 1, 2, 8 ], [ 7 ], [ 5 ], [ 3 ], [ 6 ], [ 9 ] ] ), rec( cond := [ 1, 0, -1, -1 ], block := [ [ 6 ], [ 1, 3, 9 ], [ 7 ], [ 5 ], [ 2 ], [ 4 ], [ 8 ] ] ), rec( cond := [ 0, 1, -1, 0 ], block := [ [ 4, 6 ], [ 8, 9 ], [ 5 ], [ 2, 3 ], [ 1 ], [ 7 ] ] ), rec( cond := [ 1, -1, 0, 0 ], block := [ [ 1, 4 ], [ 7, 8 ], [ 2 ], [ 3, 5 ], [ 6 ], [ 9 ] ] ), rec( cond := [ 1, 0, -1, 0 ], block := [ [ 1, 6 ], [ 7, 9 ], [ 3 ], [ 2, 5 ], [ 4 ], [ 8 ] ] ), rec( cond := [ 0, 1, -1, 1 ], block := [ [ 4 ], [ 5, 6, 8 ], [ 9 ], [ 2 ], [ 3 ], [ 1 ], [ 7 ] ] ), rec( cond := [ 1, -1, 0, 1 ], block := [ [ 1 ], [ 2, 4, 7 ], [ 8 ], [ 3 ], [ 5 ], [ 6 ], [ 9 ] ] ), rec( cond := [ 1, 0, -1, 1 ], block := [ [ 1 ], [ 3, 6, 7 ], [ 9 ], [ 2 ], [ 5 ], [ 4 ], [ 8 ] ] ), rec( cond := [ 0, 0, 0, 1 ], block := [ [ 6, 9 ], [ 5 ], [ 4, 8 ], [ 3 ], [ 2 ], [ 1, 7 ] ] ) ]
DisplayAKRouquierBlocks(H)Given a cyclotomic Hecke algebra H associated with W (for its construction, the user should refer to Chapter 82 of the GAP manual), this functions returns its Rouquier blocks using the characters' names.
gap> W:=ComplexReflectionGroup(3,1,2);; gap> H:=Hecke(W,[[x,E(3),E(3)^2],[x,-1]]); Hecke(ComplexReflectionGroup(3,1,2),[ x, x ]) gap> DisplayAKRouquierBlocks(H); [ [ "11..", "1.1.", "1..1", ".2.", "..2" ], [ ".11.", "..11" ], [ ".1.1" ], [ "2.." ] ]
AKRouquierBlocks(H)Given a cyclotomic Hecke algebra H associated with W this functions returns its Rouquier blocks using the characters' index in the list
CharNames(W)
.
gap> W:=ComplexReflectionGroup(3,1,2);; gap> H:=Hecke(W,[[x,E(3),E(3)^2],[x,-1]]); Hecke(ComplexReflectionGroup(3,1,2),[ x, x ]) gap> AKRouquierBlocks(H); [ [ 1, 2, 3, 8, 9 ], [ 4, 6 ], [ 5 ], [ 7 ] ]