#15375: Extended Affine Weyl Groups SD40
-------------------------------------+-------------------------------------
Reporter: bump | Owner: bump
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-6.8
Component: combinatorics | Resolution:
Keywords: days54, coxeter, | Merged in:
days64, days65 | Reviewers: Dan Bump, Anne
Authors: Daniel Bump, Dan | Schilling
Orr, Anne Schilling, Mark | Work issues:
Shimozono, Nicolas Thiery. | Commit:
Report Upstream: N/A | b9152e2bc08cd314744b5fd5ef627a467778f25a
Branch: | Stopgaps:
public/combinat/extended_affine_weyl_groups-15375|
Dependencies: #10963, #14102 |
-------------------------------------+-------------------------------------
Comment (by nthiery):
Hi Mark,
I had a look at the fundamental group code. Thanks for the hard work!
Suggestions:
- Would it be possible to make the code more type-free, in particular
the initialization? For example, it seems likely to break the
current version if one uses a relabeled type BC.
- The logic for computing the special nodes would fit more naturally
in Cartan types rather than here. Please implement that as a method
`cartan_type.special_nodes()`.
The special nodes form an orbit under the action of the automorphism
group of the Dynkin diagram, right? If yes, then it would be enough
to implement a generic method `CartanType_affine.special_nodes`,
which would start from the special node as specified by
`cartan_type.special_node()`, and take its orbit under the
automorphism group of the Dynkin diagram. It's a small graph, so
that's cheap enough.
- Maybe add a test that the Cartan type is indeed affine?
- Is the `_element_constructor_` needed at all?
- `lambda i: finite_action_dict[i]` -> `finite_action_dict.__getitem__`
- What about renaming `finite_action_dict` to `reduced_words`?
- `om` -> `omega` (I believe that's what we use in the crystal code)
in general, please avoid abbreviations, unless they correspond to
standard one-letter mathematical notations.
- `..., finite = True)` -> `..., finite=True)`
- The code is currently assuming that the `0` is the "main" special
node, right? Please use `cartan_type.special_node()` instead.
- What about fusing the methods `family` and `group_generators`?
`group_generators` should return a family anyway (unlike `gens`).
- If you put the group in `XXX.FinitelyGenerated()`, the list of
elements will be recovered from the group generators (of course,
here we have a more straightforward way of doing it, so that may, or
not, be how we want to do this).
--
Ticket URL: <http://trac.sagemath.org/ticket/15375#comment:76>
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.