Bases: sage.categories.category_singleton.Category_singleton
The category of affine Weyl groups
Todo
add a description of this category
See also
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
Weyl Group of type ['A', 4, 1] (as a matrix group acting on the root space)
sage: W.category()
Category of affine weyl groups
TESTS:
sage: TestSuite(C).run()
Bijection between affine Grassmannian elements of type and
-cores.
INPUT:
Recall that an element of an affine Weyl group is
affine Grassmannian if all its all reduced words end in 0, see is_affine_grassmannian().
OUTPUT:
See also affine_grassmannian_to_partition().
EXAMPLES:
sage: W = WeylGroup(['A',2,1])
sage: w = W.from_reduced_word([0,2,1,0])
sage: la = w.affine_grassmannian_to_core(); la
[4, 2]
sage: type(la)
<class 'sage.combinat.core.Cores_length_with_category.element_class'>
sage: la.to_grassmannian() == w
True
sage: w = W.from_reduced_word([0,2,1])
sage: w.affine_grassmannian_to_core()
Traceback (most recent call last):
...
ValueError: Error! this only works on type 'A' affine Grassmannian elements
Bijection between affine Grassmannian elements of type and
-bounded partitions.
INPUT:
OUTPUT:
See also affine_grassmannian_to_core().
EXAMPLES:
sage: k = 2
sage: W = WeylGroup(['A',k,1])
sage: w = W.from_reduced_word([0,2,1,0])
sage: la = w.affine_grassmannian_to_partition(); la
[2, 2]
sage: la.from_kbounded_to_grassmannian(k) == w
True
Tests 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 mimimal coset representative for W / cl W.
EXAMPLES:
sage: W=WeylGroup(['A',3,1])
sage: w=W.from_reduced_word([2,1,0])
sage: w.is_affine_grassmannian()
True
sage: w=W.from_reduced_word([2,0])
sage: w.is_affine_grassmannian()
False
sage: W.one().is_affine_grassmannian()
True
Returns the affine Grassmannian elements of length , as a list.
EXAMPLES:
sage: W=WeylGroup(['A',3,1])
sage: [x.reduced_word() for x in W.affine_grassmannian_elements_of_given_length(3)]
[[2, 1, 0], [3, 1, 0], [2, 3, 0]]
Todo
should return an enumerated set, with iterator, ...
Returns the distinguished special node of the underlying Dynkin diagram
EXAMPLES:
sage: W=WeylGroup(['A',3,1])
sage: W.special_node()
0
EXAMPLES:
sage: AffineWeylGroups().super_categories()
[Category of infinite weyl groups]