Hi all,

Ronald van Luijk encountered the following problem:

sage: S.<p,q> = QQ[]
sage: A1.<r> = AffineSpace(QQ,1)
sage: A1_emb = Curve(p-2)
sage: type(A1_emb)
<class 'sage.schemes.plane_curves.affine_curve.AffineCurve_generic'>
sage: g = A1.hom([2,r],A1_emb)
TypeError: _point_morphism_class() takes exactly 1 non-keyword argument (3 
given)

We browsed through the schemes module a bit, and the functionality for a
morphism to an affine curve does seem to exist through functions such as
AlgebraicScheme_subscheme_affine._point_morphism_class(), but
is not accessible since AlgebraicScheme_subscheme_affine is not a superclass of
AffineCurve_generic.
Comparing it to the projective case, AlgebraicScheme_subscheme_projective
_is_ a superclass of ProjectiveCurve_generic.

Is this a simple oversight in the class hierarchy for AffineCurve_generic, or
is there a more fundamental reason why this does not yet work?


I made a patch (for sage 4.2) that makes the class hierarchy for affine curves
similar to that of projective curves, but would appreciate if someone familiar
with the schemes module could take a look since it is a rather invasive change:

http://www.math.leidenuniv.nl/~wpalenst/sage/affine_morphism.patch

The patch also changes the constructor of
SchemeMorphism_on_points_affine_space to expect a number of polynomials equal
to the dimension of the ambient space instead of the dimension of the
curve/subscheme, analogous to a change to
SchemeMorphism_on_points_projective_space by David Kohel from 2007.


-Willem Jan

P.S. A related issue is that the TypeError above looks incorrect. See ticket
#7389 for a small patch to correct that.

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to