I'm not a member yet of those groups, so my cross-post attempt failed. If you could do so that would be appreciated.
On Tuesday, February 3, 2015 at 4:03:22 AM UTC-5, John Cremona wrote: > > This would be great to have. Why don't you cross-post to sage-nt (and > perhaps also sage-algebra)? > > John > > On 3 February 2015 at 01:59, Ben Hutz <bn4...@gmail.com <javascript:>> > wrote: > > 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 sage-devel+...@googlegroups.com <javascript:>. > > To post to this group, send email to sage-...@googlegroups.com > <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-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.