Functions for a monomial basis of highest weight modules

basis_lie_highest_weight_operatorsFunction
basis_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])
Experimental

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

source
basis_lie_highest_weightFunction
basis_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)

Compute 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 w_1 + w_2
  of dimension 8
  with monomial ordering degrevlex([x1, x2, x3])
over abstract Lie algebra of type A2 over QQ
where the used birational sequence consists of the following roots:
  [a_1, a_2, a_1 + a_2]

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*w_1 + 2*w_2 + 3*w_3
  of dimension 1260
  with monomial ordering lex([x1, x2, x3, x4, x5, x6])
over abstract Lie algebra of type A3 over QQ
where the used birational sequence consists of the following roots:
  [a_1, a_2, a_3, a_1 + a_2, a_2 + a_3, a_1 + a_2 + a_3]

julia> base = basis_lie_highest_weight(:A, 2, [1, 0], [1,2,1])
Monomial basis of a highest weight module
  of highest weight w_1
  of dimension 3
  with monomial ordering degrevlex([x1, x2, x3])
over abstract Lie algebra of type A2 over QQ
where the used birational sequence consists of the following roots:
  [a_1, a_2, a_1]

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 w_1
  of dimension 3
  with monomial ordering degrevlex([x1, x2, x3])
over abstract Lie algebra of type A2 over QQ
where the used birational sequence consists of the following roots:
  [a_1, a_2, a_1]

julia> base = basis_lie_highest_weight(:C, 3, [1, 1, 1]; monomial_ordering = :lex)
Monomial basis of a highest weight module
  of highest weight w_1 + w_2 + w_3
  of dimension 512
  with monomial ordering lex([x1, x2, x3, x4, x5, x6, x7, x8, x9])
over abstract Lie algebra of type C3 over QQ
where the used birational sequence consists of the following roots:
  [a_1, a_2, a_3, a_1 + a_2, a_2 + a_3, 2*a_2 + a_3, a_1 + a_2 + a_3, a_1 + 2*a_2 + a_3, 2*a_1 + 2*a_2 + a_3]
Experimental

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

source
basis_lie_highest_weight_fflFunction
basis_lie_highest_weight_ffl(type::Symbol, rank::Int, highest_weight::Vector{Int})

Compute 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 w_1 + w_2 + w_3
  of dimension 64
  with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6])
over abstract Lie algebra of type A3 over QQ
where the used birational sequence consists of the following roots:
  [a_1 + a_2 + a_3, a_2 + a_3, a_1 + a_2, a_3, a_2, a_1]
Experimental

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

source
basis_lie_highest_weight_lusztigFunction
basis_lie_highest_weight_lusztig(type::Symbol, rank::Int, highest_weight::Vector{Int}, reduced_expression::Vector{Int})

Compute 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 w_1 + w_2 + w_3 + w_4
  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 abstract Lie algebra of type D4 over QQ
where the used birational sequence consists of the following roots:
  [a_4, a_3, a_2 + a_3 + a_4, a_2 + a_3, a_2 + a_4, a_2, a_1 + 2*a_2 + a_3 + a_4, a_1 + a_2 + a_3 + a_4, a_1 + a_2 + a_4, a_1 + a_2 + a_3, a_1 + a_2, a_1]
Experimental

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

source
basis_lie_highest_weight_nzFunction
basis_lie_highest_weight_nz(type::Symbol, rank::Int, highest_weight::Vector{Int}, reduced_expression::Vector{Int})

Compute 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 w_1 + w_2 + w_3
  of dimension 512
  with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6, x7, x8, x9])
over abstract Lie algebra of type C3 over QQ
where the used birational sequence consists of the following roots:
  [a_3, a_2, a_3, a_2, a_1, a_2, a_3, a_2, a_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 w_1 + w_2 + w_3 + w_4
  of dimension 1024
  with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6, x7, x8, x9, x10])
over abstract Lie algebra of type A4 over QQ
where the used birational sequence consists of the following roots:
  [a_4, a_3, a_2, a_1, a_2, a_3, a_4, a_3, a_2, a_3] 
Experimental

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

source
basis_lie_highest_weight_stringFunction
basis_lie_highest_weight_string(type::Symbol, rank::Int, highest_weight::Vector{Int}, reduced_expression::Vector{Int})

Compute 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 w_1 + w_2 + w_3
  of dimension 512
  with monomial ordering neglex([x1, x2, x3, x4, x5, x6, x7, x8, x9])
over abstract Lie algebra of type B3 over QQ
where the used birational sequence consists of the following roots:
  [a_3, a_2, a_3, a_2, a_1, a_2, a_3, a_2, a_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 w_1 + w_2 + w_3 + w_4
  of dimension 1024
  with monomial ordering neglex([x1, x2, x3, x4, x5, x6, x7, x8, x9, x10])
over abstract Lie algebra of type A4 over QQ
where the used birational sequence consists of the following roots:
  [a_4, a_3, a_2, a_1, a_2, a_3, a_4, a_3, a_2, a_3]
Experimental

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

source

Functions for Kodaira embeddings

basis_coordinate_ring_kodairaFunction
basis_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.

Warning

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> mon_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 w_1 over abstract Lie algebra of type G2 over QQ, [1, x1, x3, x1*x3, x1^2*x3, x3*x4, x1*x3*x4])
 (Monomial basis of a highest weight module with highest weight 2*w_1 over abstract Lie algebra of type G2 over QQ, [x4, x1*x4, x4^2, x3*x4^2, x1*x3*x4^2])
 (Monomial basis of a highest weight module with highest weight 3*w_1 over abstract Lie algebra of type G2 over QQ, [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*w_1 over abstract Lie algebra of type G2 over QQ, [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*w_1 over abstract Lie algebra of type G2 over QQ, [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*w_1 over abstract Lie algebra of type G2 over QQ, [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(mon_basis[2]) for mon_basis in mon_bases]
6-element Vector{Int64}:
  7
  5
 14
  7
 12
  8

julia> mon_bases[end][1]
Monomial basis of a highest weight module
  of highest weight 6*w_1
  of dimension 714
  with monomial ordering invlex([x1, x2, x3, x4, x5, x6])
over abstract Lie algebra of type G2 over QQ
where the used birational sequence consists of the following roots:
  [a_1, a_2, a_1 + a_2, 2*a_1 + a_2, 3*a_1 + a_2, 3*a_1 + 2*a_2]
Experimental

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

source
basis_coordinate_ring_kodaira_fflFunction
basis_coordinate_ring_kodaira_ffl(type::Symbol, rank::Int, highest_weight::Vector{Int}, degree::Int)

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.

Warning

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> mon_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 w_1 over abstract Lie algebra of type G2 over QQ, [1, x6, x4, x3, x2, x1, x1*x6])
 (Monomial basis of a highest weight module with highest weight 2*w_1 over abstract Lie algebra of type G2 over QQ, [])
 (Monomial basis of a highest weight module with highest weight 3*w_1 over abstract Lie algebra of type G2 over QQ, [])
 (Monomial basis of a highest weight module with highest weight 4*w_1 over abstract Lie algebra of type G2 over QQ, [])
 (Monomial basis of a highest weight module with highest weight 5*w_1 over abstract Lie algebra of type G2 over QQ, [])
 (Monomial basis of a highest weight module with highest weight 6*w_1 over abstract Lie algebra of type G2 over QQ, [])

julia> [length(mon_basis[2]) for mon_basis in mon_bases]
6-element Vector{Int64}:
 7
 0
 0
 0
 0
 0

julia> mon_bases[end][1]
Monomial basis of a highest weight module
  of highest weight 6*w_1
  of dimension 714
  with monomial ordering degrevlex([x1, x2, x3, x4, x5, x6])
over abstract Lie algebra of type G2 over QQ
where the used birational sequence consists of the following roots:
  [3*a_1 + 2*a_2, 3*a_1 + a_2, 2*a_1 + a_2, a_1 + a_2, a_2, a_1]
Experimental

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

source