#16507: Better handling of subspace construction in pushout
-------------------------------------+-------------------------------------
       Reporter:  pbruin             |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  minor              |    Milestone:  sage-6.4
      Component:  categories         |   Resolution:
       Keywords:  pushout subspace,  |    Merged in:
  sd59                               |    Reviewers:
        Authors:  Peter Bruin        |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  1e75320fbe3cbc7d0b639f789aa0c0ef71cad746
  u/pbruin/16507-pushout_coercion_reversed|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by SimonKing):

 Replying to [ticket:16507 pbruin]:
 > This ticket addresses this by equipping the class `ConstructionFunctor`
 with an attribute `coercion_reversed`, which is `False` by default; if it
 is `True` for a construction `F`, then the pushout of two objects omits
 `F` in the case where (at a given step of constructing the pushout)
 exactly one of the two constructions is `F`.  Of course, we set
 `coercion_reversed = True` for the subspace construction.

 I hope this will not end up with a pullback construction.

 What do you mean by "exactly one of the two constructions is `F`"? Isn't
 it the case that one can simply drop all "reversed" construction functors,
 ''before'' constructing the pushout? Say, if you have direct construction
 functors F1,...,F5 and reversed construction functors R1,R2, and consider
 `(F5*R2*F4*F3*R1*F2*F1)(ZZ)`, then `(R2*F4*F3*R1*F2*F1)(ZZ)` coerces into
 `(F4*F3*R1*F2*F1)(ZZ)` and `(F4*F3*R1*F2*F1)(ZZ)` coerces into
 `(F5*F4*F3*R1*F2*F1)(ZZ)`. Would this already imply that
 `(F5*R2*F4*F3*R1*F2*F1)(ZZ)` coerces into `(F5*F4*F3*R1*F2*F1)(ZZ)`? If
 yes, then one could inductively remove all the reversed construction
 functors, and will eventually construct the pushout of
 `(F5*F4*F3*F2*F1)(ZZ)` with the other given parent.

--
Ticket URL: <http://trac.sagemath.org/ticket/16507#comment:6>
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.

Reply via email to