Algebras
Chevie.Algebras
Chevie.Algebras.GroupAlgebra
Chevie.Algebras.SolomonAlgebra
PermGroups.Groups.isabelian
Chevie.Algebras
— ModuleThis is a port of the GAP3 package Algebras by Cédric Bonnafé.
PermGroups.Groups.isabelian
— Methodisabelian(A::FiniteDimAlgebra)
whether A
is commutative
Chevie.Algebras.GroupAlgebra
— TypeGroupAlgebra(G,T=Int)
group algebra of G
with coefficients T
Chevie.Algebras.SolomonAlgebra
— Type'SolomonAlgebra(W,K)'
Let (W,S)
be a finite Coxeter group. If w
is an element of W
, let R(w)={s ∈ S | l(ws) > l(w)}
. If I
is a subset of S
, we set Y_I={w ∈ W | R(w)=I}
, X_I={w ∈ W | R(w) ⊃ I}
.
Note that X_I
is the set of minimal length left coset representatives of W/W_I
. Now, let y_I=∑_{w ∈ Y_I} w
, x_I=∑_{w ∈ X_I} w
.
They are elements of the group algebra ℤ W
of W
over Z
. Now, let $Σ(W) = ⊕_{I ⊂ S} ℤ y_I = ⊕_{I ⊂ S} ℤ x_I$. This is a sub-ℤ
-module of ℤW
. In fact, Solomon proved that it is a sub-algebra of ℤW
. Now, let K(W)
be the Grothendieck ring of W
and let θ:Σ(W)→ K(W)
be the map defined by θ(x_I) = Ind_{W_I}^W 1
. Solomon proved that this is an homomorphism of algebras. We call it the Solomon homomorphism.
returns the Solomon descent algebra of the finite Coxeter group (W,S)
over K
. If S=[s₁,…,sᵣ]
, the element x_I
corresponding to the subset I=[s₁,s₂,s₄]
of S
is printed as |X(124)|. Note that 'A:=SolomonAlgebra(W,K)' is endowed with the following fields:
'A.W': the group W
'A.basis': the basis (x_I)_{I ⊂ S}
.
'A.xbasis': the function sending the subset I
(written as a number: for instance 124
for [s_1,s_2,s_4]
) to x_I
.
'A.ybasis': the function sending the subset I
to y_I
.
'A.injection': the injection of A
in the group algebra of W
, obtained by calling 'SolomonAlgebraOps.injection(A)'.
Note that 'SolomonAlgebra(W,K)' endows W
with the field W.solomon
which is a record containing the following fields:
'W.solomon_subsets': the set of subsets of S
'W.solomonconjugacy': conjugacy classes of parabolic subgroups of W
(a conjugacy class is represented by the list of the positions, in 'W.solomon.subsets', of the subsets I
of S
such that `WI` lies in this conjugacy class).
'W.solomon_mackey': essentially the structure constants of the Solomon algebra over the rationals.
julia> W=coxgroup(:B,4)
B₄
julia> A=SolomonAlgebra(W)
SolomonAlgebra(B₄,Int64)
julia> X=A.xbasis; X(1,2,3)*X(2,4)
2X₂+2X₄
julia> W.solomon_subsets
16-element Vector{Vector{Int64}}:
[1, 2, 3, 4]
[1, 2, 3]
[1, 2, 4]
[1, 3, 4]
[2, 3, 4]
[1, 2]
[1, 3]
[1, 4]
[2, 3]
[2, 4]
[3, 4]
[1]
[2]
[3]
[4]
[]
julia> W.solomon_conjugacy
12-element Vector{Vector{Int64}}:
[1]
[2]
[3]
[4]
[5]
[6]
[7, 8]
[9, 11]
[10]
[12]
[13, 14, 15]
[16]
julia> Algebras.injection(A)(X(1,2,3))
e_+e₄+e₃₄+e₂₃₄+e₁₂₃₄+e₂₁₂₃₄+e₃₂₁₂₃₄+e₄₃₂₁₂₃₄