sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.4k stars 473 forks source link

Root systems improvements #4326

Closed nthiery closed 14 years ago

nthiery commented 16 years ago

Patch taken from Sage-Combinat: http://combinat.sagemath.org/patches/file/tip/root_systems-4326-nt.patch

Depends on: #6136 #6253 #6250 #5891


Documention:

Cartan Types:

Root systems:

Coxeter groups:

The following are not yet addressed, and will be bumped to a subsequent patch:

DynkinDiagram:

AmbientSpace:

WeightLatticeRealization

Classical case:

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

anneschilling commented 15 years ago

Description changed:

--- 
+++ 
@@ -13,6 +13,8 @@

 Generic:
 - (signed) reduced word for a chamber/alcove
+- fix rank(): for the affine cases it currently returns the same
+  as n.

 Classical case:
 - reverse map to coroot space and coroot lattice by scalar product with the fundamental weights
nthiery commented 15 years ago

Description changed:

--- 
+++ 
@@ -1,3 +1,5 @@
+Current patch: http://combinat.sagemath.org/patches/file/tip/root_systems-4326-nt.patch
+
 Doc:
 - Use $F_4$ instead of F4 
nthiery commented 15 years ago

Attachment: root_systems-4326-nt.patch.gz

nthiery commented 15 years ago

Changed keywords from none to root systems

nthiery commented 15 years ago

Description changed:

--- 
+++ 
@@ -1,7 +1,45 @@
-Current patch: http://combinat.sagemath.org/patches/file/tip/root_systems-4326-nt.patch
+Patch from Sage-Combinat: http://combinat.sagemath.org/patches/file/tip/root_systems-4326-nt.patch

-Doc:
-- Use $F_4$ instead of F4 
+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,:]
@@ -13,17 +51,14 @@
 WeightLatticeRealization
 - scalar product with coweight lattice in finite dimension

-Generic:
-- (signed) reduced word for a chamber/alcove
-- fix rank(): for the affine cases it currently returns the same
-  as n.
-
 Classical case:
 - reverse map to coroot space and coroot lattice by scalar product with the fundamental weights
-- => associated coroot
+- associated coroot in the root and weight space
 - s_\alpha on the (co)root and (co)weight lattice for any root \alpha

 Affine case:
-- analogues whenever well defined 
-- reduced words for translations elements.
+- affine ambient space

+Categorification of RootLatticeRealization / ...
+New category CoxeterGroupModules
+Support for non crystalographic root systems
nthiery commented 15 years ago

Reviewer: bump

nthiery commented 15 years ago

Author: nthiery with help from schilling, bump, Nicolas Borie, Qiang Wang, Steve Pon

nthiery commented 15 years ago

Description changed:

--- 
+++ 
@@ -1,4 +1,8 @@
-Patch from Sage-Combinat: http://combinat.sagemath.org/patches/file/tip/root_systems-4326-nt.patch
+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
6bbcde06-8197-41f1-b9a3-c998bb839000 commented 15 years ago
comment:7

Normally I would have waited for the category patches to be merged before reviewing this patch. However I recieved an email from Tom Boothby urging me to do the review now, so here it is.

This review is based on the version of the patches in the combinat queue. This is because it depends on patches that have not been merged yet.

After qpushing the combinat queue up to this patch but not beyond, all tests pass. This is with Sage 4.1 and the last changeset is this one:

changeset:   1520:188022ff52b9
tag:         tip
user:        Nicolas M. Thiery <nthiery@users.sf.net>
date:        Tue Jul 21 01:13:42 2009 +0200
summary:     Update

The patch adds quite a bit of new functionality for working with Coxeter groups and affine Weyl groups. The following new files are added. There are new categories added for CoxeterGroups and WeylGroups. There is an extensive ChangeLog in the comments at the beginning of the patch.

Since the patch is over 11,000 lines of code, there could very well be bugs in it. However it probably does not introduce significant new bugs in the portion of the code that deals with classical root systems, since I used it extensively during the spring of 2009 in connection with #5794. Every classical Cartan type and many reducible types have been created and worked with. What problems I found then were fixed. Moreover the portion of the code that deals with affine root systems was similarly very tested by Anne Schilling in connection with affine crystals.

Therefore the most uncertainty in my is with the new functionality for Coxeter groups. I will mention one "wish" in this direction, which is that in addition to implementing the Bruhat covers, the Bruhat order be properly implemented. This could be done efficiently using Proposition 1.1 in Stembridge, A Short Derivation of the Möbius Function for the Bruhat Order, Journal of Algebraic Combinatorics 25, (2007).

This wish is not a reason to hold up merging the patch. Rather the patch should be merged as soon as possible and such changes can be made later.

7c09a680-e216-4024-bb8e-9bfd4aa7f313 commented 15 years ago
comment:8

Let me get this straight. Tickets #6136, #6253, #6250, and #5891 must first be merged before merging this ticket?

nthiery commented 15 years ago
comment:9

Replying to @sagetrac-mvngu:

Let me get this straight. Tickets #6136, #6253, #6250, and #5891 must first be merged before merging this ticket?

Indeed. Should we use a specific subject for patches that have a positive review, but have dependencies on not yet merged tickets? Something like:

[with patch, positive review, depends on #6136, #6253, #6250, #5891] ...

7c09a680-e216-4024-bb8e-9bfd4aa7f313 commented 15 years ago
comment:10

Replying to @nthiery:

Indeed. Should we use a specific subject for patches that have a positive review, but have dependencies on not yet merged tickets? Something like:

[with patch, positive review, depends on #6136, #6253, #6250, #5891] ...

No, not really. I just want to double check since the patch is rather huge and I was concerned about it getting bit rotten. Anyway, people who uses the merge script would not be able to easily tell whether a positive-reviewed ticket has other dependencies.

nthiery commented 14 years ago

Latest version of the patch from the Sage-Combinat patch server (no change since Dan's review)

nthiery commented 14 years ago

Description changed:

--- 
+++ 
@@ -59,7 +59,7 @@
 - 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
nthiery commented 14 years ago
comment:11

Attachment: trac_4326-root_systems-nt.patch.gz

nthiery commented 14 years ago

Description changed:

--- 
+++ 
@@ -62,6 +62,14 @@
 - 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
nthiery commented 14 years ago

Fix ClassicalWeylSubgroup and remove unneeded long time, as spotted by Mike

nthiery commented 14 years ago
comment:13

Attachment: trac_4326-root_systems-fix-nt.patch.gz

nthiery commented 14 years ago

Changed author from nthiery with help from schilling, bump, Nicolas Borie, Qiang Wang, Steve Pon to Nicolas M. Thiéry, with help from Anne Schilling, Daniel Bump, Nicolas Borie, Qiang Wang, Steve Pon

nthiery commented 14 years ago

Changed reviewer from bump to Daniel Bump

mwhansen commented 14 years ago
comment:15

The new patch looks okay to me.

mwhansen commented 14 years ago

Changed reviewer from Daniel Bump to Daniel Bump, Mike Hansen

mwhansen commented 14 years ago

Merged: sage-4.3.alpha0

7c09a680-e216-4024-bb8e-9bfd4aa7f313 commented 14 years ago

Changed author from Nicolas M. Thiéry, with help from Anne Schilling, Daniel Bump, Nicolas Borie, Qiang Wang, Steve Pon to Nicolas M. Thiéry, Anne Schilling, Daniel Bump, Nicolas Borie, Qiang Wang, Steve Pon