Changes between Version 7 and Version 9 of Ticket #15703


Ignore:
Timestamp:
04/09/14 06:44:34 (7 years ago)
Author:
nthiery
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #15703

    • Property Cc mathzeta2 added
  • Ticket #15703 – Description

    v7 v9  
    1 This is a follow up to: #9290.
     1This is a follow up to #9290.
    22
    3  * Create a class CoxeterGraph (similar to DynkinDiagram) Edge labels: m_{i,j}, possibly with number <-1 for oo
     3 * Experiment with the infrastructure scales and benchmark
    44
    5   Starter: a edge-labeled graph.
     5   - Build by hand an interesting dynkin diagram.
     6   - Shoot straight at producing a nice plot with a bunch of limit roots.
     7   - Post the picture here.
     8   - Benchmark the calculation.
     9   - Every hack along the way is fair.
     10   - Update the TODO list below with what would need to be done for a
     11     proper implementation.
     12   - Discard the experiment.
    613
    7  * Implement the method dynkin_diagram() which builds the cartan matrix for the geometric representation
     14 * CoxegerGraph
    815
    9   Starter: just make this a function
     16   - Create a class similar to DynkinDiagram
     17     Starter: an edge-labeled graph.
     18   - Edge labels: m_{i,j}, possibly with number <-1 for oo
     19   - method dynkin_diagram() which builds the cartan matrix for the geometric representation
     20     Starter: just make this a function
    1021
    11  * Feed this to RootSystem, and check that the root space and weight space are built properly. Rename the weyl_group method to reflection_group, with an alias from weyl_group.
     22 * Update DynkinDiagram to support non crystallographic case:
    1223
    13  * Long run: stuff specific to the crystallographic case, starting with this weyl_group method, should go in RootLatticeRealizations.Crystallographic. That's for a follow up ticket on using axioms for root systems; but let's not depend on #10963 right now.
     24   - Add an argument base_ring to the constructor
     25   - Add a method base_ring
     26   - Make add_edge honor this method when automatically adding edges
     27   - Update cartan_matrix() to use the base_ring
     28   - Add a method _test_base_ring that checks that all edge labels are
     29     indeed in this base ring
     30   - Implement is_crystallographic testing if the base ring is ZZ
     31   - Add an argument symmetric=False to the constructor, and make
     32     add_edge and symmetrizer use it.
     33   - Add a method _test_dynkin_diagram that tests that the Dynkin
     34     diagram indeed defines a proper root system. See in particular
     35     cartan_matrix.is_generalized_cartan_matrix.
    1436
    15  * Refactor CoxeterMatrixGroup and WeylGroup to make the latter a subclass of the former, and lift as many features as possible from WeylGroup to CoxeterMatrixGroup.
     37  * Update CartanMatrix
     38   - Add a base ring argument to the constructor
     39   - Update is_crystallographic
     40   - Decide on the semantic of crystallographic (symmetrizable or
     41     not?), and if possibly add an is_... method to decide whether the
     42     entries are integral or not.
     43   - Update is_affine
     44   - Update is_finite
     45   - Update is_generalized_cartan_matrix
     46
     47 * CartanType
     48   - Possibly update to accept appropriate data to build a
     49     CoxeterDiagram
     50
     51 * RootSystem
     52
     53   - Decide on the meaning of root_lattice: either disable it in the
     54     non integral case, or have it be the span of the roots over the
     55     smallest available ring.
     56
     57 * RootLatticeRealizations:
     58
     59   - Feed this to RootSystem, and check that the root space and weight
     60     space are built properly.
     61   - Rename the weyl_group method to reflection_group, with an alias
     62     from weyl_group; update the setting of the category.
     63   - Long run: stuff specific to the crystallographic case, starting
     64     with this weyl_group method, should go in
     65     RootLatticeRealizations.Crystallographic. That's for a follow up
     66     ticket on using axioms for root systems; but let's not depend on
     67     #10963 right now.
     68
     69 * RootSpace (for this ticket or some follow up):
     70
     71   - Define the inner product
     72   - Signature of the bilinear form
     73
     74 * CoxeterMatrixGroup and WeylGroup:
     75
     76   - Refactor WeylGroup to make it a subclass of CoxeterMatrixGroup,
     77     and lift as many features as possible from WeylGroup to
     78     CoxeterMatrixGroup.
     79   - Check that, with a proper Dynkin diagram, the conversion to GAP
     80     issue does not appear
     81   - Now or later: we probably want the Weyl group elements to be
     82     represented by Sage matrices, but keep a handle to the
     83     corresponding Gap group. Currently one has to make a choice
     84     between MatrixGroup_generic and MatrixGroup_gap.
     85
     86 * Update WeylGroups:
     87
     88   - inversions: use the "root_lattice" by default?
     89
     90 * Cartan types
     91
     92   - provide a dynkin_diagram method that builds the Dynkin diagram
     93     from the Coxeter diagram when available?
     94   - Test: H_3 and friends should have a working dynkin_diagram method
     95
     96 * Prerequisites:
     97
     98   - Add a _float_ method to UCF
    1699
    17100Tests: