#15703: Refactor Coxeter groups as matrix groups and non crystallographic root
systems
------------------------------------------+------------------------
Reporter: nthiery | Owner:
Type: enhancement | Status: new
Priority: major | Milestone: sage-6.2
Component: combinatorics | Resolution:
Keywords: coxeter groups, days57 | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
------------------------------------------+------------------------
Changes (by nthiery):
* keywords: coxeter => coxeter groups, days57
Old description:
> This is a follow up to: #9290.
>
> Refactor CoxeterMatrixGroup and WeylGroup to make the later a subclass of
> the former, and lift as many features as possible from WeylGroup to
> CoxeterMatrixGroup. This includes:
> - Building the matrices from a root lattice realization
> - Implementing the following methods:
> {{{
> sage: W = CoxeterGroup(['H',3])
> sage: W.domain()
> }}}
>
> As a prerequisite, implement root spaces and weight spaces for non-
> crystallographic Coxeter groups.
>
> Sage Days 57 in Cernay will be a good occasion to work on this.
New description:
This is a follow up to: #9290.
- Create a class CoxeterDiagram (similar to DynkinDiagram)
Edge labels: m_{i,j}, possibly with number <-1 for oo
Starter: just use a plain digraph.
- Implement the method dynkin_diagram() which builds the cartan matrix
for the geometric representation
Starter: just make this a function
- 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.
- 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.
- Refactor CoxeterMatrixGroup and WeylGroup to make the later a
subclass of the former, and lift as many features as possible from
WeylGroup to CoxeterMatrixGroup.
Tests:
{{{
sage: C = CoxeterDiagram(...) # good name? or
CartanDatum(coxeter_matrix=...) [1] ? or?
sage: L = RootSystem(C).root_space()
sage: W = L.reflection_group()
sage: W = CoxeterGroup(['H',3])
sage: W.domain()
}}}
Sage Days 57 in Cernay will be a good occasion to work on this.
Follow ups: #16087
[1]: Generally speaking, it's planned to rename CartanType to CartanDatum.
--
--
Ticket URL: <http://trac.sagemath.org/ticket/15703#comment:6>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.