#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 jipilab):
* cc: vripoll (added)
Old 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.
New description:
This is a follow up to: #9290.
* Create a class CoxeterGraph (similar to DynkinDiagram) Edge labels:
m_{i,j}, possibly with number <-1 for oo
Starter: a edge-labeled graph.
* 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 latter 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:7>
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.