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