Functions for a monomial basis of highest weight modules
basis_lie_highest_weight_operators
— Functionbasis_lie_highest_weight_operators(type::Symbol, rank::Int)
Lists the operators available for a given simple Lie algebra of type type_rank
, together with their index. Operators $f_\alpha$ of negative roots are shown as the coefficients of the corresponding positive root. w.r.t. the simple roots $\alpha_i$.
Examples
julia> basis_lie_highest_weight_operators(:B, 2)
4-element Vector{Tuple{Int64, Vector{QQFieldElem}}}:
(1, [1, 0])
(2, [0, 1])
(3, [1, 1])
(4, [1, 2])
This function is part of the experimental code in Oscar. Please read here for more details.
basis_lie_highest_weight
— Functionbasis_lie_highest_weight(type::Symbol, rank::Int, highest_weight::Vector{Int}; monomial_ordering::Symbol=:degrevlex)
basis_lie_highest_weight(type::Symbol, rank::Int, highest_weight::Vector{Int}, birational_sequence::Vector{Int}; monomial_ordering::Symbol=:degrevlex)
basis_lie_highest_weight(type::Symbol, rank::Int, highest_weight::Vector{Int}, birational_sequence::Vector{Vector{Int}}; monomial_ordering::Symbol=:degrevlex)
Computes a monomial basis for the highest weight module with highest weight highest_weight
(in terms of the fundamental weights $\omega_i$), for a simple Lie algebra of type type_rank
.
If no birational sequence is specified, all operators in the order of basis_lie_highest_weight_operators
are used. A birational sequence of type Vector{Int}
is a sequence of indices of operators in basis_lie_highest_weight_operators
. A birational sequence of type Vector{Vector{Int}}
is a sequence of weights in terms of the simple roots $\alpha_i$.
monomial_ordering
describes the monomial ordering used for the basis. If this is a weighted ordering, the height of the corresponding root is used as weight.
Examples
julia> base = basis_lie_highest_weight(:A, 2, [1, 1])
Monomial basis of a highest weight module
of highest weight [1, 1]
of dimension 8
with monomial ordering degrevlex([x1, x2, x3])
over Lie algebra of type A2
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[1, 0]
[0, 1]
[1, 1]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0]
[0, 1]
julia> base = basis_lie_highest_weight(:A, 3, [2, 2, 3]; monomial_ordering = :lex)
Monomial basis of a highest weight module
of highest weight [2, 2, 3]
of dimension 1260
with monomial ordering lex([x1, x2, x3, x4, x5, x6])
over Lie algebra of type A3
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
[1, 1, 0]
[0, 1, 1]
[1, 1, 1]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
julia> base = basis_lie_highest_weight(:A, 2, [1, 0], [1,2,1])
Monomial basis of a highest weight module
of highest weight [1, 0]
of dimension 3
with monomial ordering degrevlex([x1, x2, x3])
over Lie algebra of type A2
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[1, 0]
[0, 1]
[1, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0]
julia> base = basis_lie_highest_weight(:A, 2, [1, 0], [[1,0], [0,1], [1,0]])
Monomial basis of a highest weight module
of highest weight [1, 0]
of dimension 3
with monomial ordering degrevlex([x1, x2, x3])
over Lie algebra of type A2
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[1, 0]
[0, 1]
[1, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0]
julia> base = basis_lie_highest_weight(:C, 3, [1, 1, 1]; monomial_ordering = :lex)
Monomial basis of a highest weight module
of highest weight [1, 1, 1]
of dimension 512
with monomial ordering lex([x1, x2, x3, x4, x5, x6, x7, x8, x9])
over Lie algebra of type C3
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
[1, 1, 0]
[0, 1, 1]
[0, 2, 1]
[1, 1, 1]
[1, 2, 1]
[2, 2, 1]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
[0, 1, 1]
[1, 1, 1]
This function is part of the experimental code in Oscar. Please read here for more details.
basis_lie_highest_weight_ffl
— Functionbasis_lie_highest_weight_ffl(type::Symbol, rank::Int, highest_weight::Vector{Int})
Computes a monomial basis for the highest weight module with highest weight highest_weight
(in terms of the fundamental weights $\omega_i$), for a simple Lie algebra $L$ of type type_rank
.
Then the birational sequence used consists of all operators in descening height of the corresponding root.
The monomial ordering is fixed to degrevlex
.
Examples
julia> basis_lie_highest_weight_ffl(:A, 3, [1,1,1])
Monomial basis of a highest weight module
of highest weight [1, 1, 1]
of dimension 64
with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6])
over Lie algebra of type A3
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[1, 1, 1]
[0, 1, 1]
[1, 1, 0]
[0, 0, 1]
[0, 1, 0]
[1, 0, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
This function is part of the experimental code in Oscar. Please read here for more details.
basis_lie_highest_weight_lusztig
— Functionbasis_lie_highest_weight_lusztig(type::Symbol, rank::Int, highest_weight::Vector{Int}, reduced_expression::Vector{Int})
Computes a monomial basis for the highest weight module with highest weight highest_weight
(in terms of the fundamental weights $\omega_i$), for a simple Lie algebra $L$ of type type_rank
.
Let $\omega_0 = s_{i_1} \cdots s_{i_N}$ be a reduced expression of the longest element in the Weyl group of $L$ given as indices $[i_1, \dots, i_N]$ in reduced_expression
. Then the birational sequence used consists of $\beta_1, \dots, \beta_N$ where $\beta_1 := \alpha_{i_1}$ and \betak := \alpha{ik} s{i{k-1}} \cdots s{i_1}$ for $k = 2, \dots, N$.
The monomial ordering is fixed to wdegrevlex
(weighted degree reverse lexicographic order).
Examples
julia> base = basis_lie_highest_weight_lusztig(:D, 4, [1,1,1,1], [4,3,2,4,3,2,1,2,4,3,2,1])
Monomial basis of a highest weight module
of highest weight [1, 1, 1, 1]
of dimension 4096
with monomial ordering wdegrevlex([x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12], [1, 1, 3, 2, 2, 1, 5, 4, 3, 3, 2, 1])
over Lie algebra of type D4
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[0, 0, 0, 1]
[0, 0, 1, 0]
[0, 1, 1, 1]
[0, 1, 1, 0]
[0, 1, 0, 1]
[0, 1, 0, 0]
[1, 2, 1, 1]
[1, 1, 1, 1]
[1, 1, 0, 1]
[1, 1, 1, 0]
[1, 1, 0, 0]
[1, 0, 0, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]
[0, 0, 1, 1]
This function is part of the experimental code in Oscar. Please read here for more details.
basis_lie_highest_weight_nz
— Functionbasis_lie_highest_weight_nz(type::Symbol, rank::Int, highest_weight::Vector{Int}, reduced_expression::Vector{Int})
Computes a monomial basis for the highest weight module with highest weight highest_weight
(in terms of the fundamental weights $\omega_i$), for a simple Lie algebra $L$ of type type_rank
.
Let $\omega_0 = s_{i_1} \cdots s_{i_N}$ be a reduced expression of the longest element in the Weyl group of $L$ given as indices $[i_1, \dots, i_N]$ in reduced_expression
. Then the birational sequence used consists of $\alpha_{i_1}, \dots, \alpha_{i_N}$.
The monomial ordering is fixed to degrevlex
(degree reverse lexicographic order).
Examples
julia> basis_lie_highest_weight_nz(:C, 3, [1,1,1], [3,2,3,2,1,2,3,2,1])
Monomial basis of a highest weight module
of highest weight [1, 1, 1]
of dimension 512
with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6, x7, x8, x9])
over Lie algebra of type C3
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[0, 0, 1]
[0, 1, 0]
[0, 0, 1]
[0, 1, 0]
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
[0, 1, 0]
[1, 0, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
julia> basis_lie_highest_weight_nz(:A, 4, [1,1,1,1], [4,3,2,1,2,3,4,3,2,3])
Monomial basis of a highest weight module
of highest weight [1, 1, 1, 1]
of dimension 1024
with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6, x7, x8, x9, x10])
over Lie algebra of type A4
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[0, 0, 0, 1]
[0, 0, 1, 0]
[0, 1, 0, 0]
[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]
[0, 0, 1, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]
[0, 1, 0, 1]
This function is part of the experimental code in Oscar. Please read here for more details.
basis_lie_highest_weight_string
— Functionbasis_lie_highest_weight_string(type::Symbol, rank::Int, highest_weight::Vector{Int}, reduced_expression::Vector{Int})
Computes a monomial basis for the highest weight module with highest weight highest_weight
(in terms of the fundamental weights $\omega_i$), for a simple Lie algebra $L$ of type type_rank
.
Let $\omega_0 = s_{i_1} \cdots s_{i_N}$ be a reduced expression of the longest element in the Weyl group of $L$ given as indices $[i_1, \dots, i_N]$ in reduced_expression
. Then the birational sequence used consists of $\alpha_{i_1}, \dots, \alpha_{i_N}$.
The monomial ordering is fixed to neglex
(negative lexicographic order).
Examples
julia> basis_lie_highest_weight_string(:B, 3, [1,1,1], [3,2,3,2,1,2,3,2,1])
Monomial basis of a highest weight module
of highest weight [1, 1, 1]
of dimension 512
with monomial ordering neglex([x1, x2, x3, x4, x5, x6, x7, x8, x9])
over Lie algebra of type B3
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[0, 0, 1]
[0, 1, 0]
[0, 0, 1]
[0, 1, 0]
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
[0, 1, 0]
[1, 0, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
julia> basis_lie_highest_weight_string(:A, 4, [1,1,1,1], [4,3,2,1,2,3,4,3,2,3])
Monomial basis of a highest weight module
of highest weight [1, 1, 1, 1]
of dimension 1024
with monomial ordering neglex([x1, x2, x3, x4, x5, x6, x7, x8, x9, x10])
over Lie algebra of type A4
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[0, 0, 0, 1]
[0, 0, 1, 0]
[0, 1, 0, 0]
[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]
[0, 0, 1, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]
[0, 1, 0, 1]
This function is part of the experimental code in Oscar. Please read here for more details.
Functions for Kodaira embeddings
basis_coordinate_ring_kodaira
— Functionbasis_coordinate_ring_kodaira(type::Symbol, rank::Int, highest_weight::Vector{Int}, degree::Int; monomial_ordering::Symbol=:degrevlex)
basis_coordinate_ring_kodaira(type::Symbol, rank::Int, highest_weight::Vector{Int}, degree::Int, birational_sequence::Vector{Int}; monomial_ordering::Symbol=:degrevlex)
basis_coordinate_ring_kodaira(type::Symbol, rank::Int, highest_weight::Vector{Int}, degree::Int, birational_sequence::Vector{Vector{Int}}; monomial_ordering::Symbol=:degrevlex)
Compute monomial bases for the degree-truncated coordinate ring (for all degrees up to degree
) of the Kodaira embedding of the generalized flag variety into the projective space of the highest weight module with highest weight highest_weight
for a simple Lie algebra $L$ of type type
and rank rank
. Furthermore, for each degree, return the monomials that are not contained in the Minkowski sum of the bases of the lower degrees.
Currently, this function expects $-w_0(\lambda)$ instead of $\lambda$ as the highest_weight
input. This might change in a minor release.
If no birational sequence is specified, all operators in the order of basis_lie_highest_weight_operators
are used. A birational sequence of type Vector{Int}
is a sequence of indices of operators in basis_lie_highest_weight_operators
. A birational sequence of type Vector{Vector{Int}}
is a sequence of weights in terms of the simple roots $\alpha_i$.
monomial_ordering
describes the monomial ordering used for the basis. If this is a weighted ordering, the height of the corresponding root is used as weight.
Examples
julia> bases = basis_coordinate_ring_kodaira(:G, 2, [1,0], 6; monomial_ordering = :invlex)
6-element Vector{Tuple{MonomialBasis, Vector{ZZMPolyRingElem}}}:
(Monomial basis of a highest weight module with highest weight [1, 0] over Lie algebra of type G2, [1, x1, x3, x1*x3, x1^2*x3, x3*x4, x1*x3*x4])
(Monomial basis of a highest weight module with highest weight [2, 0] over Lie algebra of type G2, [x4, x1*x4, x4^2, x3*x4^2, x1*x3*x4^2])
(Monomial basis of a highest weight module with highest weight [3, 0] over Lie algebra of type G2, [x1^2*x4^2, x4^3, x1*x4^3, x4^4, x1*x4^4, x3*x4^4, x5, x2*x5, x1*x2*x5, x1^2*x2*x5, x3^2*x5, x1*x3^2*x5, x3^3*x5, x1*x3^3*x5])
(Monomial basis of a highest weight module with highest weight [4, 0] over Lie algebra of type G2, [x4^5, x1*x4^5, x4^6, x3^2*x4*x5, x1*x3^2*x4*x5, x3^2*x4^2*x5, x3^3*x4^2*x5])
(Monomial basis of a highest weight module with highest weight [5, 0] over Lie algebra of type G2, [x1^2*x4^6, x4^7, x1*x4^7, x2*x4^3*x5, x1*x2*x4^3*x5, x2*x3*x4^3*x5, x1*x2*x3*x4^3*x5, x1^2*x2*x3*x4^3*x5, x2*x3^2*x4^3*x5, x1*x2*x3^2*x4^3*x5, x1^2*x2*x3^2*x4^3*x5, x2*x4^4*x5])
(Monomial basis of a highest weight module with highest weight [6, 0] over Lie algebra of type G2, [x4^9, x1*x3*x4^4*x5, x2*x4^5*x5, x3*x4^5*x5, x3^2*x4^5*x5, x2*x3^2*x4^5*x5, x1*x2*x3^2*x4^5*x5, x3^4*x4*x5^2])
julia> [length(basis[2]) for basis in bases]
6-element Vector{Int64}:
7
5
14
7
12
8
julia> bases[end][1]
Monomial basis of a highest weight module
of highest weight [6, 0]
of dimension 714
with monomial ordering invlex([x1, x2, x3, x4, x5, x6])
over Lie algebra of type G2
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[1, 0]
[0, 1]
[1, 1]
[2, 1]
[3, 1]
[3, 2]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0]
[2, 0]
[3, 0]
[4, 0]
[5, 0]
[6, 0]
This function is part of the experimental code in Oscar. Please read here for more details.
basis_coordinate_ring_kodaira_ffl
— Functionbasis_coordinate_ring_kodaira_ffl(type::Symbol, rank::Int, highest_weight::Vector{Int}, degree::Int; monomial_ordering::Symbol=:degrevlex)
Compute monomial bases for the degree-truncated coordinate ring (for all degrees up to degree
) of the Kodaira embedding of the generalized flag variety into the projective space of the highest weight module with highest weight highest_weight
for a simple Lie algebra $L$ of type type
and rank rank
. Furthermore, for each degree, return the monomials that are not contained in the Minkowski sum of the bases of the lower degrees.
Currently, this function expects $-w_0(\lambda)$ instead of $\lambda$ as the highest_weight
input. This might change in a minor release.
The the birational sequence used consists of all operators in descening height of the corresponding root, i.e. a "good" ordering.
The monomial ordering is fixed to degrevlex
.
Examples
julia> bases = basis_coordinate_ring_kodaira_ffl(:G, 2, [1,0], 6)
6-element Vector{Tuple{MonomialBasis, Vector{ZZMPolyRingElem}}}:
(Monomial basis of a highest weight module with highest weight [1, 0] over Lie algebra of type G2, [1, x6, x4, x3, x2, x1, x1*x6])
(Monomial basis of a highest weight module with highest weight [2, 0] over Lie algebra of type G2, [])
(Monomial basis of a highest weight module with highest weight [3, 0] over Lie algebra of type G2, [])
(Monomial basis of a highest weight module with highest weight [4, 0] over Lie algebra of type G2, [])
(Monomial basis of a highest weight module with highest weight [5, 0] over Lie algebra of type G2, [])
(Monomial basis of a highest weight module with highest weight [6, 0] over Lie algebra of type G2, [])
julia> [length(basis[2]) for basis in bases]
6-element Vector{Int64}:
7
0
0
0
0
0
julia> bases[end][1]
Monomial basis of a highest weight module
of highest weight [6, 0]
of dimension 714
with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6])
over Lie algebra of type G2
where the used birational sequence consists of the following roots (given as coefficients w.r.t. alpha_i):
[3, 2]
[3, 1]
[2, 1]
[1, 1]
[0, 1]
[1, 0]
and the basis was generated by Minkowski sums of the bases of the following highest weight modules:
[1, 0]
This function is part of the experimental code in Oscar. Please read here for more details.