#6588: Categories for root systems
----------------------------------------------+-----------------------------
Reporter: nthiery | Owner: mhansen
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.0
Component: combinatorics | Keywords: root systems,
categories
Work_issues: | Upstream: N/A
Reviewer: Anne Schilling, Mark Shimozono | Author: Nicolas M.
ThiƩry
Merged: | Dependencies: #10817
----------------------------------------------+-----------------------------
Changes (by aschilling):
* reviewer: => Anne Schilling, Mark Shimozono
Comment:
Hi Nicolas,
Impressive patch! Thanks for working on this.
Here are some first comments:
- In /sage/categories/affine_weyl_groups.py there is a new import
from sage.categories.infinite_enumerated_sets import
InfiniteEnumeratedSets
which is not used. Please either remove this line or add
InfiniteEnumeratedSets
in the class (which is probably preferable).
- In /sage/categories/affine_weyl_groups.py please add a
`TestSuite(s).run()` doctest.
- I am not sure this is related to the patch, but there are some
strange methods in /sage/categories/coxeter_groups.py without doctests:
@abstract_method(optional = True)
def has_right_descent(self, i):
"""
Returns whether i is a right descent of self.
# EXAMPLES::
#
# sage:
"""
def has_left_descent(self, i):
"""
Returns whether `i` is a left descent of self.
This default implementation uses that a left descent of
`w` is a right descent of `w^{-1}`.
"""
return (~self).has_right_descent(i)
Should has_left_descent also be an abstract_method? Or is that implicit
through
has_right_descent?
- Why is the cateogry RootLatticeRealization in
/sage/combinat/root_system/root_lattice_realization.py
here and not in categories (if it is a category as specified in the
docstring)?
The same question holds for
WeightLatticeRealizations(Category_over_base_ring)
in /sage/combinat/root_system/weight_lattice_realization.py.
- When using the extended weight lattice, the list of fundamental weights
does not include `\delta`. On the other hand it is possible to input
`\delta` into the method fundamental_weight. This seems a little
inconsistent.
{{{
sage: Q = RootSystem(['A', 3, 1]).weight_lattice(extended = True); Q
Extended weight lattice of the Root system of type ['A', 3, 1]
sage: Q.fundamental_weights()
Finite family {0: Lambda[0], 1: Lambda[1], 2: Lambda[2], 3: Lambda[3]}
sage: Q.fundamental_weight('delta')
delta
}}}
Also, I posted a first reviewer's patch on sage-combinat with mostly just
trivial changes. Please fold it if you are satisfied.
Thanks!
Anne
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6588#comment:10>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.