I have two groups A and B whose elements can be multiplied in a group C
(constructed out of A and B). Due to the nature of those groups, C
*cannot* be discovered by a functorial construction [1] as pushout.

Therefore I propose to add either a method
  _discover_coercion_
or
  _pushout_
to parents, which returns None by default and can be overridden in the
actual parent. These functions will be called by either
  sage.structure.coerce.CoercionModel_cache_maps.discover_coercion
or
  sage.categories.pushout.pushout
respectively. If they return None, then the current implementation is
used, otherwise their result.

What do you think about this? Which of those two should be used? (I
favour _discover_coercion_ at the moment)

Best wishes

Daniel


[1] We have something like
  A = F(ZZ)
and
  B = G(ZZ),
but
  D = (F*G)(ZZ)
is something completely different than C. In particular, there is no
coercion from A to D or B to D.

-- 
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 [email protected].
To post to this group, send email to [email protected].
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