Construction and basic functionality
DrinfeldHeckeAlgebra — Type
DrinfeldHeckeAlgebra{T <: FieldElem, S <: RingElem} <: NCRingType for representing a Drinfeld-Hecke algebra for a group $G$. The parameter T is the element type over which $G$ is defined, S is the ring element type over which the associated Drinfeld-Hecke form is defined.
DrinfeldHeckeAlgebraElem — Type
DrinfeldHeckeAlgebraElem{T <: FieldElem, S <: RingElem} <: NCRingElemType for representing a Drinfeld-Hecke algebra element.
drinfeld_hecke_algebra — Function
drinfeld_hecke_algebra(G::MatGroup{T}, R::Ring=base_ring(G)) where {T <: FieldElem}Create the trivial Drinfeld-Hecke algebra over the ring R for the matrix group G, i.e. the skew group ring $R[V]\#G$ where $V$ is the vector space on which G acts.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> R, _ = polynomial_ring(QQ, ["x","y"])
(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y])
julia> drinfeld_hecke_algebra(G, R)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
x, y
given by 0This function is part of the experimental code in Oscar. Please read here for more details.
drinfeld_hecke_algebra(forms::Dict)Create the Drinfeld-Hecke algebra given by the dictionary forms which is expected to have keys of type MatGroupElem{T} and values of type MatElem{S} where T <: FieldElem, S <: RingElem. If the types are not correct, an exception is thrown.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> R, (x,y) = polynomial_ring(QQ, ["x","y"])
(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y])
julia> kappa_1 = matrix(R, [0 x; -x 0])
[ 0 x]
[-x 0]
julia> kappa_g = matrix(R, [0 y; -y 0])
[ 0 y]
[-y 0]
julia> forms = Dict(one(G) => kappa_1, G[1] => kappa_g)
Dict{MatGroupElem{QQFieldElem, QQMatrix}, AbstractAlgebra.Generic.MatSpaceElem{QQMPolyRingElem}} with 2 entries:
[1 0; 0 1] => [0 x; -x 0]
[-1 0; 0 -1] => [0 y; -y 0]
julia> drinfeld_hecke_algebra(forms)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
x, y
given by alternating bilinear forms
[1 0] => [ 0 x]
[0 1] [-x 0]
[-1 0] => [ 0 y]
[ 0 -1] [-y 0]This function is part of the experimental code in Oscar. Please read here for more details.
generic_drinfeld_hecke_algebra — Function
generic_drinfeld_hecke_algebra(G::MatGroup{T}, R::Ring=base_ring(G)) where {T <: FieldElem}Create a generic (parametrized) Drinfeld-Hecke algebra over the ring R for the group G.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> generic_drinfeld_hecke_algebra(G)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
t1, t2
given by alternating bilinear forms
[1 0] => [ 0 t1]
[0 1] [-t1 0]
[-1 0] => [ 0 t2]
[ 0 -1] [-t2 0]This function is part of the experimental code in Oscar. Please read here for more details.
evaluate_parameters — Function
evaluate_parameters(A::DrinfeldHeckeAlgebra, values::Vector)Evaluate the parameters of the Drinfeld-Hecke algebra A by the values given in values.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> A = generic_drinfeld_hecke_algebra(G)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
t1, t2
given by alternating bilinear forms
[1 0] => [ 0 t1]
[0 1] [-t1 0]
[-1 0] => [ 0 t2]
[ 0 -1] [-t2 0]
julia> evaluate_parameters(A, [1,2])
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
t1, t2
given by alternating bilinear forms
[1 0] => [ 0 1]
[0 1] [-1 0]
[-1 0] => [ 0 2]
[ 0 -1] [-2 0]This function is part of the experimental code in Oscar. Please read here for more details.
group — Method
group(A::DrinfeldHeckeAlgebra)Return the group for which A is defined.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> A = drinfeld_hecke_algebra(G)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Rational field
given by 0
julia> group(A)
Matrix group of degree 2
over rational fieldThis function is part of the experimental code in Oscar. Please read here for more details.
base_ring — Method
base_ring(A::DrinfeldHeckeAlgebra)Return the base ring over which A is defined.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> R, (x,y) = polynomial_ring(QQ, ["x","y"])
(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y])
julia> A = drinfeld_hecke_algebra(G, R)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
x, y
given by 0
julia> base_ring(A)
Multivariate polynomial ring in 2 variables x, y
over rational fieldThis function is part of the experimental code in Oscar. Please read here for more details.
base_algebra — Method
base_algebra(A::DrinfeldHeckeAlgebra)Return the polynomial ring over $V$ which serves in the implementation as a base for A.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> A = drinfeld_hecke_algebra(G)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Rational field
given by 0
julia> base_algebra(A)
Multivariate polynomial ring in 2 variables x1, x2
over rational fieldThis function is part of the experimental code in Oscar. Please read here for more details.
parameters — Method
parameters(A::DrinfeldHeckeAlgebra)Return the parameters of A.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> A = generic_drinfeld_hecke_algebra(G)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
t1, t2
given by alternating bilinear forms
[1 0] => [ 0 t1]
[0 1] [-t1 0]
[-1 0] => [ 0 t2]
[ 0 -1] [-t2 0]
julia> parameters(A)
2-element Vector{QQMPolyRingElem}:
t1
t2This function is part of the experimental code in Oscar. Please read here for more details.
is_trivial — Method
is_trivial(A::DrinfeldHeckeAlgebra)Return true if A is the trivial Drinfeld-Hecke algebra, false otherwise.
Examples
julia> G = matrix_group(matrix(QQ, [-1 0;0 -1]))
Matrix group of degree 2
over rational field
julia> A = generic_drinfeld_hecke_algebra(G)
Drinfeld-Hecke algebra
for Matrix group of degree 2 over QQ
with generators
x1, x2, g1
defined by Drinfeld-Hecke form over base ring
Multivariate polynomial ring in 2 variables over QQ
with parameters
t1, t2
given by alternating bilinear forms
[1 0] => [ 0 t1]
[0 1] [-t1 0]
[-1 0] => [ 0 t2]
[ 0 -1] [-t2 0]
julia> is_trivial(A)
falseThis function is part of the experimental code in Oscar. Please read here for more details.