Hi Peter

On 27.08.2014 13:03, Peter Bruin wrote:
Hi Jonas,

When I implemented Modular forms rings/spaces for Hecke triangle groups
I ran into some issues with pushout / functors / constructions
(correct me if I missunderstood something):

Apparently the pushout construction implicitely assumes that
there exists a coercion from the "construction argument" to the
"construct":

Ticket #16507 should solve this (at least to some extent) in situations
where there is a coercion B -> A instead of A -> B.  (Here B is the
object resulting from a functorial construction applied to A; this can
be used if B is a submodule of A, for example.)  This won't address
things like (base ring, cusp forms) -> (modular forms), though.

Nice! I missed this ticket.
This exactly addresses one of the issues I mentioned.
I hope it can handle all possible complications
(e.g. base changes, embeddings, etc).

What if there is no coercion in either direction?
E.g. (base_ring, cusp forms ring)

My solution was to use a Facade of the base ring instead of the
base ring itself and let it have an embedding into the base ring.
Because embeddings are checked at the very beginning of the pushout
construction (and only thanks to this) everything worked out.

The important part above was that the facade is _not_ constructed
from the base ring (otherwise we have again the same problem).

All in all the pushout construction is rather complicated (there
are many cases/situations) and when implementing new spaces
one probably (unfortunately) has to look at the source / specific
implementation of pushout in detail to ensure everything works
appropriately in all cases. :-(


Best
    Jonas

--
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