Useful functions to generate context

The functions in this section provide context for Drinfeld-Hecke algebras, for example if one wants to calculate in the setting for rational cherednik algebras, the function symplectic_doubling can be used.

symplectic_doublingFunction
symplectic_doubling(G::MatGroup{T}) -> MatGroup{T} where {T <: FieldElem}

Calculate the symplectic doubling of G, that is the matrix group generated by the elements $\begin{pmatrix} g & 0 \\ 0 & (g^{-1})^T \end{pmatrix}$ for $g \in G$.

Examples

julia> S3 = symmetric_group(3)
Symmetric group of degree 3

julia> mat_gens = [permutation_matrix(QQ, g) for g in gens(S3)]
2-element Vector{QQMatrix}:
 [0 1 0; 0 0 1; 1 0 0]
 [0 1 0; 1 0 0; 0 0 1]

julia> G = matrix_group(mat_gens)
Matrix group of degree 3
  over rational field

julia> H = symplectic_doubling(G)
Matrix group of degree 6
  over rational field

julia> gens(H)
2-element Vector{MatGroupElem{QQFieldElem, QQMatrix}}:
 [0 1 0 0 0 0; 0 0 1 0 0 0; 1 0 0 0 0 0; 0 0 0 0 1 0; 0 0 0 0 0 1; 0 0 0 1 0 0]
 [0 1 0 0 0 0; 1 0 0 0 0 0; 0 0 1 0 0 0; 0 0 0 0 1 0; 0 0 0 1 0 0; 0 0 0 0 0 1]
Experimental

This function is part of the experimental code in Oscar. Please read here for more details.

source