Skip to content

Root systems improvements #4326

@nthiery

Description

@nthiery

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:

DynkinDiagram:

  • allow for slicing notation for column/row extraction: c[i,:]

AmbientSpace:

  • fundamental coweights by appropriate scaling of the fundamental weights
  • embedding coweight lattice

WeightLatticeRealization

  • 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

CC: @sagetrac-sage-combinat

Component: combinatorics

Keywords: root systems

Author: Nicolas M. Thiéry, Anne Schilling, Daniel Bump, Nicolas Borie, Qiang Wang, Steve Pon

Reviewer: Daniel Bump, Mike Hansen

Merged: sage-4.3.alpha0

Issue created by migration from https://trac.sagemath.org/ticket/4326

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions