Skip to content

Commit

Permalink
Trac #21367: LLT to k-Schur conversion broken
Browse files Browse the repository at this point in the history
The conversion from LLT polynomials to k-Schur functions is broken in
this example:
{{{
    Sym = SymmetricFunctions(QQ['t'])
    sage: s = Sym.schur()
    sage: ks3 = Sym.kschur(3)
    sage: llt3 = Sym.llt(3)
    sage: f=s(llt3.cospin([[1],[2,1],[1,1]])).omega()
    sage: ks3(f)
    --------------------------------------------------------------------
-------
    TypeError                                 Traceback (most recent
call last)
    <ipython-input-9-3447eb76b82a> in <module>()
    ----> 1 ks3(f)

    /Applications/sage/src/sage/structure/parent.pyx in
sage.structure.parent.Parent.__call__
(/Applications/sage/src/build/cythonized/sage/structure/parent.c:9905)()
       1105         if mor is not None:
       1106             if no_extra_args:
    -> 1107                 return mor._call_(x)
       1108             else:
       1109                 return mor._call_with_args(x, args, kwds)

    /Applications/sage/src/sage/categories/morphism.pyx in
sage.categories.morphism.SetMorphism._call_ (/Applications/sage/src/buil
d/cythonized/sage/categories/morphism.c:7550)()
        455             3
        456         """
    --> 457         return self._function(x)
        458
        459     cpdef Element _call_with_args(self, x, args=(),
kwds={}):

    /Applications/sage/local/lib/python2.7/site-
packages/sage/modules/with_basis/morphism.pyc in preimage(self, f)
        940                 c = c.parent()(c / s[j])
        941
    --> 942             remainder -= s._lmul_(c)
        943             out += F.term(j_preimage, c)
        944

    /Applications/sage/local/lib/python2.7/site-
packages/sage/categories/additive_magmas.pyc in __sub__(left, right)
        825                 from sage.structure.element import
get_coercion_model
        826                 import operator
    --> 827                 return get_coercion_model().bin_op(left,
right, operator.sub)
        828
        829             def _sub_(left, right):

    /Applications/sage/src/sage/structure/coerce.pyx in
sage.structure.coerce.CoercionModel_cache_maps.bin_op (/Applications/sag
e/src/build/cythonized/sage/structure/coerce.c:10081)()
        945
        946
    --> 947     cpdef bin_op(self, x, y, op):
        948         """
        949         Execute the operation op on x and y. It first looks
for an action

    /Applications/sage/src/sage/structure/coerce.pyx in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(/Applications/sage/src/build/cythonized/sage/structure/coerce.c:9974)()
       1089         # We should really include the underlying error.
       1090         # This causes so much headache.
    -> 1091         raise TypeError(arith_error_message(x,y,op))
       1092
       1093     cpdef canonical_coercion(self, x, y):

    TypeError: unsupported operand parent(s) for '-': 'Symmetric
Functions over Univariate Polynomial Ring in t over Rational Field in
the Schur basis' and '<type 'NoneType'>'
}}}
despite the fact that
{{{
sage: t=llt3.t
sage:
f-s(ks3[2,2,1,1])-s(ks3[2,2,2])-t*s(ks3[3,1,1,1])-t^2*s(ks3[3,2,1])
0
}}}
works.

URL: https://trac.sagemath.org/21367
Reported by: aschilling
Ticket author(s): Anne Schilling
Reviewer(s): Frédéric Chapoton
  • Loading branch information
Release Manager authored and vbraun committed Aug 30, 2016
2 parents ac14a9c + 6f8fcaa commit ce93575
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/sage/combinat/sf/llt.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,13 @@ def __init__(self, Sym, k, t='t'):
True
sage: L3p != SymmetricFunctions(QQ).llt(3,t=1)
True
sage: Sym = SymmetricFunctions(QQ['t'])
sage: ks3 = Sym.kschur(3)
sage: llt3 = Sym.llt(3)
sage: f = llt3.cospin([[1],[2,1],[1,1]]).omega()
sage: ks3(f)
ks3[2, 2, 1, 1] + ks3[2, 2, 2] + t*ks3[3, 1, 1, 1] + t^2*ks3[3, 2, 1]
"""
self._k = k
self._sym = Sym
Expand All @@ -126,7 +133,7 @@ def __init__(self, Sym, k, t='t'):
if str(t) !='t':
self._name_suffix += " with t=%s"%self.t
self._name += self._name_suffix+" over %s"%self._sym.base_ring()
self._m = sage.combinat.sf.sf.SymmetricFunctions(QQt).monomial()
self._m = Sym.monomial()

def __repr__(self):
r"""
Expand Down

0 comments on commit ce93575

Please sign in to comment.