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_doubling — Function
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]This function is part of the experimental code in Oscar. Please read here for more details.