#10667: Morphisms and Objects of Categories
----------------------------------+-----------------------------------------
Reporter: SimonKing | Owner: nthiery
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-5.0
Component: categories | Keywords: objects morphisms
containment
Work_issues: Cartesian products | Upstream: N/A
Reviewer: | Author: Simon King
Merged: | Dependencies: #9138, #11115
----------------------------------+-----------------------------------------
Changes (by SimonKing):
* work_issues: doctests => Cartesian products
Comment:
Just a status report: I got rid of the `__new__` method. Instead, I
produce a `__classcall__` method, similar to what is done in
`UniqueRepresentation` (and in fact I make
`sage.categories.rings.Rings.HomCategory.ParentClass` inherit from
`UniqueRepresentation`).
I have already mentioned that I added some methods to the Cartesian
product categories, so that some test suites actually passed. Next, I
fixed another problem with Cartesian products: It has not been possible to
create Cartesian products of algebras. It neither worked in sage-4.6.2 nor
in sage-4.7.2.alpha1+#9138, but failed with different errors.
{{{
sage: C = cartesian_product([ZZ['x'], ZZ['y']])
<BOOM>
}}}
After my patches and the addition of the base_ring method to Cartesian
product categories, the problem arose with `__init_extra__` method in
`sage.categories.algebras.Algebras.ParentMethods`: The Cartesian product
of algebras over a ring R is an algebra over R (apparently acting
diagonally). The `__init_extra__` tries to create a coercion from the R to
the cartesian product. However, that ended in an infinite recursion. I
solved it by adding a `from_base_ring` method, that is understood by
`__init_extra__`.
The remaining problem concerns summation of elements of Cartesian
products. Multiplication is defined, via
`sage.categories.magmas.Magmas.CartesianProduct.ParentMethods.product`.
But summation is missing. I guess it should be implemented in
`sage.categories.AdditiveMagmas.CartesianProduct.ParentMethods.summation`.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10667#comment:43>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.