#13724: Improved support for relabelled Cartan types
----------------------------------------------------+-----------------------
Reporter: JesusTorrado | Owner: joyner
Type: defect | Status:
needs_review
Priority: minor | Milestone: sage-5.9
Component: combinatorics | Resolution:
Keywords: CartanType relabel | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Nicolas M. Thiéry, Jesus Torrado | Merged in:
Dependencies: #4327 | Stopgaps:
----------------------------------------------------+-----------------------
Changes (by {'newvalue': u'Nicolas M. Thi\xe9ry, Jesus Torrado', 'oldvalue':
u'Jesus Torrado'}):
* status: new => needs_review
* author: Jesus Torrado => Nicolas M. Thiéry, Jesus Torrado
* component: group theory => combinatorics
* dependencies: => #4327
* work_issues: Doctests fail for type_relabel.py =>
Old description:
> Currently, relabelled Cartan types lack some methods such as
> cartan_matrix():
>
> {{{
> sage: A3 = CartanType("A3")
> sage: A3.cartan_matrix()
> [ 2 -1 0]
> [-1 2 -1]
> [ 0 -1 2]
> sage: A3r = A3.relabel({1:2,2:3,3:1})
> sage: A3r.cartan_matrix()
> ---------------------------------------------------------------------------
> AttributeError Traceback (most recent call
> last)
>
> /space/ga98mup/sage-5.4-linux-64bit-
> ubuntu_12.04.1_lts-x86_64-Linux/<ipython console> in <module>()
>
> AttributeError: 'CartanType' object has no attribute 'cartan_matrix'
> }}}
>
> This should be solved by adequate calls to
> CartanType._abstract._add_abstract_superclass().
>
> Similar issue reported by Mark Shimozono:
> {{{
> sage: ct = CartanType(["D",4,3]).classical(); ct
> ['G', 2]^* relabelled by {1: 2, 2: 1}
> sage: ct.symmetrizer()
> Traceback (most recent call last)
> ...
> AttributeError: 'CartanType' object has no attribute 'symmetrizer'
> }}}
>
> Related discussion in sage-combinat-devel:
> https://groups.google.com/forum/?fromgroups=#!topic/sage-combinat-devel
> /On-VfvxjeDk
New description:
Currently, relabelled Cartan types lack some methods such as
cartan_matrix():
{{{
sage: A3 = CartanType("A3")
sage: A3.cartan_matrix()
[ 2 -1 0]
[-1 2 -1]
[ 0 -1 2]
sage: A3r = A3.relabel({1:2,2:3,3:1})
sage: A3r.cartan_matrix()
...
AttributeError: 'CartanType' object has no attribute 'cartan_matrix'
}}}
Here is a similar issue reported by Mark Shimozono:
{{{
sage: ct = CartanType(["D",4,3]).classical(); ct
['G', 2]^* relabelled by {1: 2, 2: 1}
sage: ct.symmetrizer()
Traceback (most recent call last)
...
AttributeError: 'CartanType' object has no attribute 'symmetrizer'
}}}
The attached patch fixes this issue, and analogue ones for dual cartan
types, by adding the appropriate abstract classes to those cartan
types, depending on the abstract classes of the original cartan type.
At this occasion, it also implements the ambient space for relabelled
cartan types.
Related discussion in sage-combinat-devel:
https://groups.google.com/forum/?fromgroups=#!topic/sage-combinat-devel
/On-VfvxjeDk
There currently is a syntactic dependency upon #4327. It could be possibly
be lifted but at a cost. I'd rather have #4327 be reviewed and merged :-)
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13724#comment:4>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.