#10963: More functorial constructions
-------------------------------------+-------------------------------------
Reporter: nthiery | Owner: stumpc5
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-6.2
Component: categories | Resolution:
Keywords: days54 | Merged in:
Authors: Nicolas M. Thiéry | Reviewers: Simon King, Frédéric
Report Upstream: N/A | Chapoton
Branch: | Work issues:
public/ticket/10963-doc- | Commit:
distributive | c718f218fbc726bf3cf7f4c3f20638c9b0c7eea7
Dependencies: #11224, #8327, | Stopgaps:
#10193, #12895, #14516, #14722, |
#13589, #14471, #15069, #15094, |
#11688, #13394, #15150, #15506 |
-------------------------------------+-------------------------------------
Comment (by SimonKing):
Part of the problem is this classcall method of category-with-axiom:
{{{
#!python
@staticmethod
def __classcall__(cls, *args, **options):
(base_category_class, axiom) = cls._base_category_class_and_axiom
if len(args) == 1 and not options and isinstance(args[0],
base_category_class):
return super(CategoryWithAxiom, cls).__classcall__(cls,
args[0])
else:
# The following fails with Modules(QQ), as the later returns
# VectorSpaces(QQ) which is not an instance of the
# base_category_class of ModulesWithBasis
# return cls(base_category_class(*args, **options))
return base_category_class(*args,
**options)._with_axiom(axiom)
}}}
Hence, when doing
{{{
sage: C.__class__.FixedBaseRing(C,QQ)
}}}
then the additional argument `QQ` is passed to the init of
`base_category_class`, which fails.
--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:518>
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.