---------- Forwarded message ----------
From: Ben Hutz <[email protected]>
Date: 3 February 2015 at 01:59
Subject: [sage-devel] weil restriction for affine schemes as a functor?
To: [email protected]


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

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

Reply via email to