#18182: pushout construction and finding common parents for/including cartesian
products
-------------------------------------+-------------------------------------
Reporter: dkrenn | Owner:
Type: enhancement | Status: positive_review
Priority: major | Milestone: sage-6.6
Component: coercion | Resolution:
Keywords: sd67, coercion, | Merged in:
categories | Reviewers: Benjamin Hackl,
Authors: Daniel Krenn, | Daniel Krenn
David Roe | Work issues:
Report Upstream: N/A | Commit:
Branch: | bc70cb9f592a7f3eb93267b91591d9cd4ae7b358
u/dkrenn/coercion/pushout | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Changes (by behackl):
* status: needs_review => positive_review
Comment:
Replying to [comment:21 dkrenn]:
> > 1. `categories.modules.CartesianProducts`: I'm not entirely sure [...]
>
> This is now #19375.
Perfect.
>
> > 2. `categories.pushout.ConstructionFunctor.common_base`: I think that
`Raise a CoercionException` does not fit in a `OUTPUT`-block from a
semantic point of view.
>
> Rewritten (but I am open to suggestions if you want something different)
No, the way you've rewritten it is fine.
> > 4. `MultivariateConstructionFunctor.common_base`: Could you explain
why you use `get_coercion_model().common_parent(...)` instead of
`pushout(...)`?
>
> We need a common parent, thus `common_parent` is the correct method to
call. A pushout is one possible way to construct a common parent, but
there are other ways; e.g. one could coerce into the other, or there is a
scalar multiplication or action available.
I understand.
>
> > 5. `pushout`: Is there a reason for using
> > {{{
> > sage: from sage.sets.cartesian_product import CartesianProduct
> > sage: A = CartesianProduct((ZZ['x'], QQ['y'], QQ['z']),
Sets().CartesianProducts())
> > }}}
> > over
> > {{{
> > sage: A = cartesian_product((ZZ['x'], QQ['y'], QQ['z']))
> > }}}
> > As far as I can tell, the only difference is in the categories --
but they aren't used in these doctests.
>
> This is to check that it works as well (there was once a bug with this
kind of construction, thus a doctest was added).
Alright.
I cross-checked your changes, everything seems to work now, and I have no
more comments.
The documentation builds and `make ptestlong` passes. -->
`positive_review`.
--
Ticket URL: <http://trac.sagemath.org/ticket/18182#comment:24>
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/d/optout.