#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
----------------------------------------------+-----------------------------
Comment(by nthiery):
> - 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.
Yeah, we had a similar discussion for the crystal categories and the
categories for Symmetric Functions and friends. And there is a non
trivial borderline to set.
On one hand, we have general categories (like Groups, Algebras, ...)
which are likely to get used in several Sage modules. Also, they name
a well-known area of mathematics; so it's natural to import them by
default in the interpreter, if not just as an entry point.
On the other hand we have categories that are rather specific to a
Sage module, if not just implementation details. So it's good to keep
them in this module, in particular to be as close as close as possible
from the other sources of that module.
CoxeterGroups clearly fits the first case (most mathematicians have
heard of them; this category is used by WeylGroup (in
sage.combinat.root_system) and by SymmetricGroup (in sage.groups).
The categories for symmetric functions are basically implementation
details and fits in the second case. Anyway, SymmetricFunctions is
already a good entry point.
Crystals are only implemented in sage.combinat.crystals (so far). But
this names an area of mathematics. So this fits a bit more the first
case.
RootLatticeRealizations and WeightLatticeRealizations seem rather
specific. So this fits a bit more the second case.
> - 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.
Yeah, this abuse is documented in "fundamental_weight". Basically, we
need a function that describes the embedding of the basis elements of
the (extended) weight lattice. That's almost what fundamental_weight
does, and I did not have a good alternative name. So I abused
fundamental_weight to do just a bit more that its natural job.
Anyway, we currently only have a single implementation of
WeightLatticeRealizations in the affine case, so it's very localized,
and easy to change in the future if we come up with a good name
(unless you have one!).
Let me know if you are ok with the above and with my reviewer's patch.
If yes, I'll fold the patches, reindent properly
root_lattice_realization.py and weight_lattice_realization.py, and add
a 's' at the end of those files (I haven't done those yet to keep the
diff meaningful). Then, the patch will be good to go.
For the record, all tests pass on Sage 5.0 beta6, with the following
patches applied:
{{{
trac_10817-generalized_associahedra-cs.patch
trac_12645-fix_rst_markup-sk.patch
trac_9128-intersphinx_python_database-fh.patch
trac_9128-sphinx_links_all-fh.patch
trac_9128-MANIFEST-fh.patch
trac_12527-fraction_field-is_exact_optimization-nt.patch
trac_12510-nonzero_equal_consistency-fh.patch
trac_12536-linear_extensions-as.patch
element_compare_consistency-fh.patch
trac_11880-isgci-all_in_one-nc.patch
trac_11880-isgci-more-review-nt.patch
trac_7980-multiple-realizations-nt.patch
trac_7980-multiple-realizations-review-nt.patch
trac_6588-categories-root_systems-nt.patch
trac_6588-categories-root_systems-review-nt.patch
}}}
Cheers,
Nicolas
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6588#comment:12>
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.