#15473: Minor fixes to symmetric functions
-------------------------------------------------+-------------------------
Reporter: darij | Owner:
Type: defect | Status: new
Priority: minor | Milestone: sage-5.13
Component: combinatorics | Resolution:
Keywords: sage-combinat, symmetric | Merged in:
functions | Reviewers:
Authors: Darij Grinberg | Work issues:
Report Upstream: N/A | Commit:
Branch: | Stopgaps:
Dependencies: |
-------------------------------------------------+-------------------------
Comment (by darij):
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.
What the fuck???
--
Ticket URL: <http://trac.sagemath.org/ticket/15473#comment:1>
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.
For more options, visit https://groups.google.com/groups/opt_out.