Hi Jonas,

On 2014-08-27, Jonas Jermann <jjerma...@gmail.com> wrote:
> There is supposed to be a coercion from A and B to C=pushout(A,B).
> But if e.g. B is constructed from A without having a coercion from A
> then the pushout will fail this (also see line 3217 of pushout.py).
>
> So either one severely restricts (functorial) constructions to
> "coercion"-compatible ones or the pushout construction fails
> even though there might be a very obvious candidate for pushout(A,B).

Indeed, the pushout construction and the construction functors in
sage.categories.pushout are an important tool to find coercion candidates.
However, they are not supposed to be used for other "categorial"
pushout constructions.

To avoid some misconceptions:

> Some examples that come to my mind:
>
> - All kinds of "projection" / non-injective constructions

It is not assumed that coercions are injective. In fact, a projection
(say, from a ring to a quotient ring) will usually become a coercion.

> - A = some graded ring, B = some homogeneous component of A
>    Adding elements of A and B should give an element of A

Here you have a coercion from B to A, and thus no construction functor
or pushout construction is involved.

> - A = some base ring, B = the ring of cusp forms over A
>    Adding elements of A and B should give an element of
>    the ring of modular forms over A, however if B is constructed
>    by A, then the pushout construction will always return B
>    to which A does not coerce.

That's not my field of expertise, but it sounds like one shouldn't use a
sage.categories.pushout.ConstructionFunctor to describe the construction
of B by A. The construction may be functorial, but there is no
ConstructionFunctor...

Best regards,
Simon


-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to