Ticket #4326 (closed enhancement: fixed)
Root systems improvements
| Reported by: | nthiery | Owned by: | nthiery |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.3 |
| Component: | combinatorics | Keywords: | root systems |
| Cc: | sage-combinat | Author(s): | Nicolas M. Thiéry, Anne Schilling, Daniel Bump, Nicolas Borie, Qiang Wang, Steve Pon |
| Report Upstream: | N/A | Reviewer(s): | Daniel Bump, Mike Hansen |
| Merged in: | sage-4.3.alpha0 | Work issues: |
Description (last modified by nthiery) (diff)
Patch taken from Sage-Combinat: http://combinat.sagemath.org/patches/file/tip/root_systems-4326-nt.patch
Depends on: #6136 #6253 #6250 #5891
Documention:
- quickref + links in sage.combinat.root_system
- Long introduction in CartanTypes?
- ...
Cartan Types:
- Object oriented clean up: each cartan type has its own class (in .type_....py) which contains all its specific data (dynkin diagram, ascii art, ...). All the dispatch logic is now concentrated in the CartanType? factory.
- fixed the definition of rank for affine types (Anne Schilling)
- systematic implementation of the classical type underlying an affine type (Anne Schilling)
- New methods: is_untwisted_affine, special_node, a, acheck, translation_factors, symmetrizer, row_annihilator col_annihilator (partly Nicolas Borie)
- Relabelled Cartan types (with composition, classical, special_node, dual)
- Use A~... B~* BC~ convention for affine types; Kac' convention implemented by renaming them (see CartanType??)
- F3 is nonexistent so use F4 in one test (Dan Bump)
- ascii art for reducible (Dan Bump), relabelled, and dual Cartan types
Root systems:
- Preliminary plots (Nicolas Borie)
- New methods for affine root systems (mostly Nicolas Borie): null_(co)root, level
- RootSystem?(["A",3,1]) returns None rather than the ambient space for type A_3 (which was wrong!)
- positive and negative roots for all (finite) root lattice realizations
Coxeter groups:
- New categories: (Finite) CoxeterGroups?, (Finite, Affine) WeylGroups? standardized methods: first_descent, has_descent, descents, reduced_word, length, from_reduced_word, with systematic associated test (test_has_descent, ...) simple_reflections, simple_projections, coset_representatives, binary_factorisations, ... (many of them were extracted and generalized from WeylGroup?)
- lower and upper cover for Bruhat order (Steve Pon)
- affine stanley symmetric functions for types A, A affine
- Documentation (with help from Qiang Wang, Nicolas Borie)
The following are not yet addressed, and will be bumped to a subsequent patch:
- allow for slicing notation for column/row extraction: c[i,:]
- fundamental coweights by appropriate scaling of the fundamental weights
- embedding coweight lattice
- scalar product with coweight lattice in finite dimension
Classical case:
- reverse map to coroot space and coroot lattice by scalar product with the fundamental weights
- associated coroot in the root and weight space
- s_\alpha on the (co)root and (co)weight lattice for any root \alpha
- highest_coroot returning self.coroot_lattice().highest_root()
Affine case:
- affine ambient space
- Fix:
sage: R = RootSystem(["A",2,1]).weight_lattice() sage: R.rho_classical() ... TypeError: unsupported operand parent(s) for '*': 'Rational Field' and 'Weight lattice of the Root system of type ['A', 2, 1]'
Categorification of RootLatticeRealization? / ... New category CoxeterGroupModules? Support for non crystalographic root systems
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

