Closed darijgr closed 10 years ago
So, here's the file... but... it fails doctests for no reason whatsoever!
**********************************************************************
File "devel/sage-main/sage/combinat/sf/sfa.py", line 875, in sage.combinat.sf.sfa.SymmetricFunctionsBases.ParentMethods.corresponding_basis_over
Failed example:
s.corresponding_basis_over(Integers(13))
Exception raised:
Traceback (most recent call last):
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 479, in _run
self.execute(example, compiled, test.globs)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 838, in execute
exec compiled in globs
File "<doctest sage.combinat.sf.sfa.SymmetricFunctionsBases.ParentMethods.corresponding_basis_over[5]>", line 1, in <module>
s.corresponding_basis_over(Integers(Integer(13)))
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py", line 937, in corresponding_basis_over
return attrcall(self._basis)(SymmetricFunctions(R))
File "classcall_metaclass.pyx", line 330, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)
File "cachefunc.pyx", line 1030, in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1005, in __classcall__
instance = typecall(cls, *args, **options)
File "classcall_metaclass.pyx", line 518, in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py", line 764, in __init__
Parent.__init__(self, category = GradedHopfAlgebras(R).WithRealizations())
File "parent.pyx", line 368, in sage.structure.parent.Parent.__init__ (sage/structure/parent.c:4392)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py", line 1225, in __init_extra__
basis1 = getattr(self, basis1_name)()
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py", line 812, in powersum
return powersum.SymmetricFunctionAlgebra_power(self)
File "classcall_metaclass.pyx", line 330, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)
File "cachefunc.pyx", line 1030, in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1005, in __classcall__
instance = typecall(cls, *args, **options)
File "classcall_metaclass.pyx", line 518, in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/powersum.py", line 41, in __init__
classical.SymmetricFunctionAlgebra_classical.__init__(self, Sym, "powersum", 'p')
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py", line 1025, in __init__
category = SymmetricFunctionsBases(Sym),
File "classcall_metaclass.pyx", line 330, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 464, in __classcall__
return super(Category, cls).__classcall__(cls, *args, **options)
File "cachefunc.pyx", line 1030, in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1005, in __classcall__
instance = typecall(cls, *args, **options)
File "classcall_metaclass.pyx", line 518, in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py", line 477, in __init__
Category_realization_of_parent.__init__(self, base)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/realizations.py", line 147, in __init__
Category_over_base.__init__(self, parent_with_realization)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.py", line 204, in __init__
Category.__init__(self, name)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 499, in __init__
(self.__class__, self.subcategory_class, ),
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1277, in subcategory_class
cache=False, picklable=False)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 2064, in _make_named_class
cache=cache, **options)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1233, in _make_named_class
tuple(getattr(cat,name) for cat in self._super_categories_for_classes),
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1059, in _super_categories_for_classes
self._all_super_categories
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 885, in _all_super_categories
for cat in self._super_categories] +
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1034, in _super_categories
return sorted(Category._flatten_categories(self.super_categories()), key = category_sort_key, reverse=True)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.py", line 514, in super_categories
return [GradedHopfAlgebrasWithBasis(self.base().base_ring()),
File "classcall_metaclass.pyx", line 330, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 464, in __classcall__
return super(Category, cls).__classcall__(cls, *args, **options)
File "cachefunc.pyx", line 1030, in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1005, in __classcall__
instance = typecall(cls, *args, **options)
File "classcall_metaclass.pyx", line 518, in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.py", line 327, in __init__
Category_over_base.__init__(self, base, name)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.py", line 204, in __init__
Category.__init__(self, name)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 499, in __init__
(self.__class__, self.subcategory_class, ),
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1277, in subcategory_class
cache=False, picklable=False)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 2064, in _make_named_class
cache=cache, **options)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1233, in _make_named_class
tuple(getattr(cat,name) for cat in self._super_categories_for_classes),
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1059, in _super_categories_for_classes
self._all_super_categories
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 885, in _all_super_categories
for cat in self._super_categories] +
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1034, in _super_categories
return sorted(Category._flatten_categories(self.super_categories()), key = category_sort_key, reverse=True)
File "cachefunc.pyx", line 1775, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (sage/misc/cachefunc.c:9548)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/graded_hopf_algebras_with_basis.py", line 42, in super_categories
return [GradedBialgebrasWithBasis(R), GradedHopfAlgebras(R), HopfAlgebrasWithBasis(R)]
File "classcall_metaclass.pyx", line 330, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 464, in __classcall__
return super(Category, cls).__classcall__(cls, *args, **options)
File "cachefunc.pyx", line 1030, in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1005, in __classcall__
instance = typecall(cls, *args, **options)
File "classcall_metaclass.pyx", line 518, in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.py", line 327, in __init__
Category_over_base.__init__(self, base, name)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.py", line 204, in __init__
Category.__init__(self, name)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 499, in __init__
(self.__class__, self.subcategory_class, ),
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1277, in subcategory_class
cache=False, picklable=False)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 2064, in _make_named_class
cache=cache, **options)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1233, in _make_named_class
tuple(getattr(cat,name) for cat in self._super_categories_for_classes),
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1059, in _super_categories_for_classes
self._all_super_categories
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 885, in _all_super_categories
for cat in self._super_categories] +
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1034, in _super_categories
return sorted(Category._flatten_categories(self.super_categories()), key = category_sort_key, reverse=True)
File "cachefunc.pyx", line 1775, in sage.misc.cachefunc.CachedMethodCallerNoArgs.__call__ (sage/misc/cachefunc.c:9548)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/graded_bialgebras_with_basis.py", line 40, in super_categories
return [GradedAlgebrasWithBasis(R), GradedCoalgebrasWithBasis(R), GradedBialgebras(R)]
File "classcall_metaclass.pyx", line 330, in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 464, in __classcall__
return super(Category, cls).__classcall__(cls, *args, **options)
File "cachefunc.pyx", line 1030, in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.py", line 1005, in __classcall__
instance = typecall(cls, *args, **options)
File "classcall_metaclass.pyx", line 518, in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.py", line 327, in __init__
Category_over_base.__init__(self, base, name)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.py", line 204, in __init__
Category.__init__(self, name)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 499, in __init__
(self.__class__, self.subcategory_class, ),
File "lazy_attribute.pyx", line 127, in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1277, in subcategory_class
cache=False, picklable=False)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 2064, in _make_named_class
cache=cache, **options)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.py", line 1235, in _make_named_class
reduction = reduction, cache = cache)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/dynamic_class.py", line 316, in dynamic_class
return dynamic_class_internal.f(name, bases, cls, reduction, doccls, prepend_cls_bases)
File "/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/dynamic_class.py", line 411, in dynamic_class_internal
return metaclass(name, bases, methods)
TypeError: Cannot create a consistent method resolution
order (MRO) for bases ModulesWithBasis.subcategory_class, Modules.subcategory_class, GradedModules.subcategory_class
**********************************************************************
This happens only because of the doctest
sage: s = SymmetricFunctions(Zmod(14)).s()
sage: s.is_integral_domain()
False
before it. Both doctests work fine in isolation, but it seems that the Zmod(14)
one corrupts the MRO for the Integers(13)
one.
What the fuck???
No idea about this failure. On #15303, I need to touch qsym.py for different reasons: Coercion maps use weak references to their domain (by #14711), and thus one should copy them when using outside of the coercion system.
This is, sadly, not the patch where I'm touching QSym; I cc'ed you because it seems to be a category issue. Thanks for looking into it nevertheless!
Replying to @darijgr:
This is, sadly, not the patch where I'm touching QSym; I cc'ed you because it seems to be a category issue.
I see!
Actually I thought that with Nicolas' modification of the C3 algorithm, an inconsistent method resolution order should never occur.
Nevermind my patch -- the bug is already triggered by
sage: SymmetricFunctions(Zmod(2)); SymmetricFunctions(Zmod(4))
If I use two primes instead of 2
and 4
, then it works! It is probably a field/ring distinction. Maybe determining a category at runtime is bad for caching?
There should be a contest for the shortest string that breaks Sage...
But... not all is well in field-land either!
┌────────────────────────────────────────────────────────────────────┐
│ Sage Version 5.13.beta3, Release Date: 2013-11-14 │
│ Type "notebook()" for the browser-based notebook interface. │
│ Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Warning: this is a prerelease version, and it may be unstable. ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
sage: SymmetricFunctions(Zmod(2)); SymmetricFunctions(Zmod(5)); SymmetricFunctions(Zmod(3))
Symmetric Functions over Ring of integers modulo 2
Symmetric Functions over Ring of integers modulo 5
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-1-55467dc7f5ca> in <module>()
----> 1 SymmetricFunctions(Zmod(Integer(2))); SymmetricFunctions(Zmod(Integer(5))); SymmetricFunctions(Zmod(Integer(3)))
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/cachefunc.so in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.pyc in __classcall__(cls, *args, **options)
1003 True
1004 """
-> 1005 instance = typecall(cls, *args, **options)
1006 assert isinstance( instance, cls )
1007 if instance.__class__.__reduce__ == CachedRepresentation.__reduce__:
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sf.pyc in __init__(self, R)
762 assert(R in Rings())
763 self._base = R # Won't be needed when CategoryObject won't override anymore base_ring
--> 764 Parent.__init__(self, category = GradedHopfAlgebras(R).WithRealizations())
765
766 def a_realization(self):
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/parent.so in sage.structure.parent.Parent.__init__ (sage/structure/parent.c:4392)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sf.pyc in __init_extra__(self)
1223
1224 for (basis1_name, basis2_name) in conversion_functions.keys():
-> 1225 basis1 = getattr(self, basis1_name)()
1226 basis2 = getattr(self, basis2_name)()
1227 on_basis = SymmetricaConversionOnBasis(t = conversion_functions[basis1_name,basis2_name], domain = basis1, codomain = basis2)
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sf.pyc in powersum(self)
810 Symmetric Functions over Rational Field in the powersum basis
811 """
--> 812 return powersum.SymmetricFunctionAlgebra_power(self)
813 p = powersum
814 power = powersum # Todo: get rid of this one when it won't be needed anymore
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/cachefunc.so in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.pyc in __classcall__(cls, *args, **options)
1003 True
1004 """
-> 1005 instance = typecall(cls, *args, **options)
1006 assert isinstance( instance, cls )
1007 if instance.__class__.__reduce__ == CachedRepresentation.__reduce__:
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/powersum.pyc in __init__(self, Sym)
39 sage: TestSuite(p).run(elements = [p[1,1]+p[2], p[1]+2*p[1,1]])
40 """
---> 41 classical.SymmetricFunctionAlgebra_classical.__init__(self, Sym, "powersum", 'p')
42
43 def coproduct_on_generators(self, i):
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.pyc in __init__(self, Sym, basis_name, prefix)
1020 self._sym = Sym
1021 CombinatorialFreeModule.__init__(self, Sym.base_ring(), sage.combinat.partition.Partitions(),
-> 1022 category = SymmetricFunctionsBases(Sym),
1023 bracket = "", prefix = prefix)
1024
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so in sage.misc.classcall_metaclass.ClasscallMetaclass.__call__ (sage/misc/classcall_metaclass.c:1224)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.pyc in __classcall__(cls, *args, **options)
462 if isinstance(cls, DynamicMetaclass):
463 cls = cls.__base__
--> 464 return super(Category, cls).__classcall__(cls, *args, **options)
465
466 def __init__(self, s=None):
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/cachefunc.so in sage.misc.cachefunc.WeakCachedFunction.__call__ (sage/misc/cachefunc.c:5675)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/structure/unique_representation.pyc in __classcall__(cls, *args, **options)
1003 True
1004 """
-> 1005 instance = typecall(cls, *args, **options)
1006 assert isinstance( instance, cls )
1007 if instance.__class__.__reduce__ == CachedRepresentation.__reduce__:
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/classcall_metaclass.so in sage.misc.classcall_metaclass.typecall (sage/misc/classcall_metaclass.c:1586)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sfa.pyc in __init__(self, base)
475 True
476 """
--> 477 Category_realization_of_parent.__init__(self, base)
478
479 def _repr_(self):
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/realizations.pyc in __init__(self, parent_with_realization)
145 sage: TestSuite(C).run()
146 """
--> 147 Category_over_base.__init__(self, parent_with_realization)
148 self.parent_with_realization = parent_with_realization
149
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category_types.pyc in __init__(self, base, name)
202 def __init__(self, base, name=None):
203 self.__base = base
--> 204 Category.__init__(self, name)
205
206 def _make_named_class_key(self, name):
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.pyc in __init__(self, s)
497 raise TypeError, "Argument string must be a string."
498 self.__class__ = dynamic_class("%s_with_category"%self.__class__.__name__,
--> 499 (self.__class__, self.subcategory_class, ),
500 cache = False, reduction = None,
501 doccls=self.__class__)
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/lazy_attribute.so in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.pyc in subcategory_class(self)
1275 """
1276 return self._make_named_class('subcategory_class', 'SubcategoryMethods',
-> 1277 cache=False, picklable=False)
1278
1279 @lazy_attribute
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.pyc in _make_named_class(self, name, method_provider, cache, **options)
2062 pass
2063 result = Category._make_named_class(self, name, method_provider,
-> 2064 cache=cache, **options)
2065 self._make_named_class_cache[key] = result
2066 return result
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.pyc in _make_named_class(self, name, method_provider, cache, picklable)
1231 reduction = None
1232 return dynamic_class(class_name,
-> 1233 tuple(getattr(cat,name) for cat in self._super_categories_for_classes),
1234 method_provider_cls, prepend_cls_bases = False, doccls = doccls,
1235 reduction = reduction, cache = cache)
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/lazy_attribute.so in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.pyc in _super_categories_for_classes(self)
1057 [Category of rngs, Category of semirings]
1058 """
-> 1059 self._all_super_categories
1060 return self._super_categories_for_classes
1061
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/lazy_attribute.so in sage.misc.lazy_attribute._lazy_attribute.__get__ (sage/misc/lazy_attribute.c:1300)()
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/categories/category.pyc in _all_super_categories(self)
885 for cat in self._super_categories] +
886 [self._super_categories],
--> 887 category_sort_key)
888 self._super_categories_for_classes = bases
889 return [self] + result
/home/darij/sage-5.13.beta3/local/lib/python2.7/site-packages/sage/misc/c3_controlled.so in sage.misc.c3_controlled.C3_sorted_merge (sage/misc/c3_controlled.c:4377)()
KeyError: (6048, 95)
without the offending doctest
Attachment: trac_15473-sym-dg.patch.gz
Description changed:
---
+++
@@ -3,3 +3,5 @@
- `is_integral_domain` added fwiw (maybe we can have the fraction field eventually).
- Some deprecated stuff is now lazy-imported rather than imported.
+
+One doctest is disabled waiting for :trac:`10963` to be merged.
All is well that ends well -- it turns out that both bugs are fixed by the hg version of #10963. I'll open a new ticket to not lose track of this issue, but this patch can be reviewed independently of it since I've disabled the doctest.
Branch: public/combinat/sf/fixes-15473
Reviewer: Travis Scrimshaw
Hey Darij,
I've converted this to a branch, removed the deprecated functions (15 months old) except the k-Schurs (they are more tricky), and formally deprecated SymmetricFunctionAlgebra
. If you agree with my changes, then we can set this to positive review.
Best,
Travis
For the record, the doctests are re-enabled at #15475.
New commits:
[4277d46](https://github.com/sagemath/sagetrac-mirror/commit/4277d46) | Removed deprecated functions from HL, Jack, an Macdonald SF's. |
[df59b0a](https://github.com/sagemath/sagetrac-mirror/commit/df59b0a) | Removed deprecated LLT functions and fixed kschur.py doctests. |
[ddea29a](https://github.com/sagemath/sagetrac-mirror/commit/ddea29a) | Removed additional SymmetricFunctionAlgebras in symmetrica.pxi. |
[35e6b34](https://github.com/sagemath/sagetrac-mirror/commit/35e6b34) | trac #15473: symmetric function fixes |
Branch pushed to git repo; I updated commit sha1. New commits:
[7f9be88](https://github.com/sagemath/sagetrac-mirror/commit/7f9be88) | reinstating a couple doctests, and removing a superficial Qqt definition (there were two in the same file) |
[ca45cad](https://github.com/sagemath/sagetrac-mirror/commit/ca45cad) | Merge branch 'public/combinat/sf/fixes-15473' of trac.sagemath.org:sage into 15473 |
Thanks for the review again! Good job clearing up the deprecations. If these couple new changes are fine, please set to positive_review.
Looks good to me.
Some doc fixed (mostly ReST errors, mostly due to myself).
is_integral_domain
added fwiw (maybe we can have the fraction field eventually).Some deprecated stuff is now lazy-imported rather than imported.
One doctest is disabled waiting for :trac:
10963
to be merged.CC: @tscrim @zabrocki @sagetrac-sage-combinat @simon-king-jena @nthiery
Component: combinatorics
Keywords: sage-combinat, symmetric functions
Author: Darij Grinberg
Branch/Commit: public/combinat/sf/fixes-15473 @
7f9be88
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/15473