Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
bugfix: reducible cartan types have no opposition involution
Browse files Browse the repository at this point in the history
  • Loading branch information
dwbump committed Oct 10, 2018
1 parent cada3b3 commit e8dec30
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/sage/combinat/root_system/weyl_characters.py
Expand Up @@ -130,7 +130,8 @@ def __init__(self, ct, base_ring=ZZ, prefix=None, style="lattice", k=None):
self._prefix = prefix
self._style = style
self._k = k
self._opposition = ct.opposition_automorphism()
if ct.is_atomic():
self._opposition = ct.opposition_automorphism()
if k is not None:
self._highest = self._space.highest_root()
self._hip = self._highest.inner_product(self._highest)
Expand Down Expand Up @@ -760,7 +761,7 @@ def _dual_helper(self, wt):
If `w_0` is the long Weyl group element and `wt` is an
element of the weight lattice, this returns `-w_0(wt)`.
"""
if self.cartan_type()[0] == 'A':
if self.cartan_type()[0] == 'A': # handled separately for GL(n) compatibility
return self.space()([-x for x in reversed(wt.to_vector().list())])
ret = 0
alphacheck = self._space.simple_coroots()
Expand All @@ -783,6 +784,8 @@ def dual(self, elt):
sage: A3.dual(A3(1,0,0)^2)
A3(0,1,0) + A3(0,0,2)
"""
if not self.cartan_type().is_atomic():
raise NotImplementedError("dual method is not implemented for reducible types")
d = elt.monomial_coefficients()
return sum(d[k]*self(self._dual_helper(k)) for k in d.keys())

Expand Down

0 comments on commit e8dec30

Please sign in to comment.