This is now #17729 On Tuesday, February 3, 2015 at 8:08:34 AM UTC-5, John Cremona wrote: > > ---------- Forwarded message ---------- > From: Ben Hutz <[email protected] <javascript:>> > Date: 3 February 2015 at 01:59 > Subject: [sage-devel] weil restriction for affine schemes as a functor? > To: [email protected] <javascript:> > > > I'm interested in implementing Weil restriction (restriction of > scalars) for affine schemes. I see from #5569, that there is an > implementation for ideals. I'd like to extend this to affine > schemes/points/morphisms. There is also an aborted attempt of Weil > restriction for projective models of elliptic curves #13266 that does > not seem to be going anywhere. > > While the code for the restriction for each of these (affine) objects > is not difficult, this seems like something that should be implemented > as a functor as you'd like the resulting schemes/points/morphisms to > all play nicely together. However, I know little about functors in > Sage. I've looked around in the code a little bit hoping to find an > example where something like this was done before, but I'm having some > trouble. I see where Spec is implemented as a functor, but I'm not > sure that is helpful. I've also seen the documentation about which > functions a new functor class should override. I'm sure I'm going to > get this wrong, but as a place to start this discussion would an > implementation look something like this > > 1) create a new functor class WeilRestrictionAffineFunctor which > implements > _coerce_into_domain(self, x) > _apply_functor(self, x) > _apply_functor_to_morphism(self, f) > > although it doesn't seem like any of these three would apply to the > points of the affine scheme. > > 2) Given an affine scheme A and a morphism f:A -> A, have the methods > A.weil_restriction() and f.weil_restriction() call the functor so that > domains/codomains all match-up nicely? For example, I'd like something > like this to work > > sage: K.<w>=QuadraticField(3) > sage: A.<x,y>=AffineSpace(K,2) > sage: X=A.subscheme([y^2-x^2]) > sage: H=End(X) > sage: f=H([y,x]) > sage: P=X(-1,1) > sage: f(P).weil_restriction() == f.weil_restriction(P.weil_restriction()) > True > > > I'm sure I could make this work manually by caching the > weil_restriction of a scheme so that a new one is only created when it > doesn't already exist (like 'homogenize' does) but, at least > mathematically, this really should be a functor. I guess my first > question is then: Is a functor the 'right' choice for implementation > of Weil restriction in Sage? If yes, is there anywhere else in Sage > something like this is done from which I can base this new > functionality? > > Thanks, > Ben > > -- > 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] <javascript:>. > To post to this group, send email to [email protected] > <javascript:>. > Visit this group at http://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. >
-- You received this message because you are subscribed to the Google Groups "sage-nt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. Visit this group at http://groups.google.com/group/sage-nt. For more options, visit https://groups.google.com/d/optout.
