Affine Weyl groups#
- class sage.categories.affine_weyl_groups.AffineWeylGroups(s=None)#
Bases:
Category_singleton
The category of affine Weyl groups
Todo
add a description of this category
See also
WeylGroups
,WeylGroup
EXAMPLES:
sage: C = AffineWeylGroups(); C Category of affine weyl groups sage: C.super_categories() [Category of infinite weyl groups] sage: C.example() NotImplemented sage: W = WeylGroup(["A", 4, 1]); W # optional - sage.combinat sage.groups Weyl Group of type ['A', 4, 1] (as a matrix group acting on the root space) sage: W.category() # optional - sage.combinat sage.groups Category of irreducible affine weyl groups
- class ElementMethods#
Bases:
object
- affine_grassmannian_to_core()#
Bijection between affine Grassmannian elements of type \(A_k^{(1)}\) and \((k+1)\)-cores.
INPUT:
self
– an affine Grassmannian element of some affine Weyl group of type \(A_k^{(1)}\)
Recall that an element \(w\) of an affine Weyl group is affine Grassmannian if all its all reduced words end in 0, see
is_affine_grassmannian()
.OUTPUT:
a \((k+1)\)-core
See also
EXAMPLES:
sage: W = WeylGroup(['A', 2, 1]) # optional - sage.combinat sage.groups sage: w = W.from_reduced_word([0,2,1,0]) # optional - sage.combinat sage.groups sage: la = w.affine_grassmannian_to_core(); la # optional - sage.combinat sage.groups [4, 2] sage: type(la) # optional - sage.combinat sage.groups <class 'sage.combinat.core.Cores_length_with_category.element_class'> sage: la.to_grassmannian() == w # optional - sage.combinat sage.groups True sage: w = W.from_reduced_word([0,2,1]) # optional - sage.combinat sage.groups sage: w.affine_grassmannian_to_core() # optional - sage.combinat sage.groups Traceback (most recent call last): ... ValueError: this only works on type 'A' affine Grassmannian elements
- affine_grassmannian_to_partition()#
Bijection between affine Grassmannian elements of type \(A_k^{(1)}\) and \(k\)-bounded partitions.
INPUT:
self
is affine Grassmannian element of the affine Weyl group of type \(A_k^{(1)}\) (i.e. all reduced words end in 0)
OUTPUT:
\(k\)-bounded partition
See also
EXAMPLES:
sage: k = 2 sage: W = WeylGroup(['A', k, 1]) # optional - sage.combinat sage.groups sage: w = W.from_reduced_word([0,2,1,0]) # optional - sage.combinat sage.groups sage: la = w.affine_grassmannian_to_partition(); la # optional - sage.combinat sage.groups [2, 2] sage: la.from_kbounded_to_grassmannian(k) == w # optional - sage.combinat sage.groups True
- is_affine_grassmannian()#
Test whether
self
is affine Grassmannian.An element of an affine Weyl group is affine Grassmannian if any of the following equivalent properties holds:
all reduced words for
self
end with 0.self
is the identity, or 0 is its single right descent.self
is a minimal coset representative for W / cl W.
EXAMPLES:
sage: W = WeylGroup(['A', 3, 1]) # optional - sage.combinat sage.groups sage: w = W.from_reduced_word([2,1,0]) # optional - sage.combinat sage.groups sage: w.is_affine_grassmannian() # optional - sage.combinat sage.groups True sage: w = W.from_reduced_word([2,0]) # optional - sage.combinat sage.groups sage: w.is_affine_grassmannian() # optional - sage.combinat sage.groups False sage: W.one().is_affine_grassmannian() # optional - sage.combinat sage.groups True
- class ParentMethods#
Bases:
object
- affine_grassmannian_elements_of_given_length(k)#
Return the affine Grassmannian elements of length \(k\).
This is returned as a finite enumerated set.
EXAMPLES:
sage: W = WeylGroup(['A', 3, 1]) # optional - sage.combinat sage.groups sage: [x.reduced_word() # optional - sage.combinat sage.groups ....: for x in W.affine_grassmannian_elements_of_given_length(3)] [[2, 1, 0], [3, 1, 0], [2, 3, 0]]
- special_node()#
Return the distinguished special node of the underlying Dynkin diagram.
EXAMPLES:
sage: W = WeylGroup(['A', 3, 1]) # optional - sage.combinat sage.groups sage: W.special_node() # optional - sage.combinat sage.groups 0
- additional_structure()#
Return
None
.Indeed, the category of affine Weyl groups defines no additional structure: affine Weyl groups are a special class of Weyl groups.
See also
Todo
Should this category be a
CategoryWithAxiom
?EXAMPLES:
sage: AffineWeylGroups().additional_structure()
- super_categories()#
EXAMPLES:
sage: AffineWeylGroups().super_categories() [Category of infinite weyl groups]