#7956: constructing a scheme morphism to an affine curve
----------------------------------+-----------------------------------------
   Reporter:  wjp                 |          Owner:  AlexGhitza      
       Type:  defect              |         Status:  needs_review    
   Priority:  major               |      Milestone:  sage-4.8        
  Component:  algebraic geometry  |       Keywords:                  
Work_issues:                      |       Upstream:  N/A             
   Reviewer:                      |         Author:  Michael Orlitzky
     Merged:                      |   Dependencies:                  
----------------------------------+-----------------------------------------

Old description:

> From http://groups.google.com/group/sage-
> devel/browse_thread/thread/1f3d4eca8bbff6c2/d3108ab8f2060050
>
> 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.

New description:

 From http://groups.google.com/group/sage-
 devel/browse_thread/thread/1f3d4eca8bbff6c2/d3108ab8f2060050

 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)
 }}}

 This is fixed in current Sage (e.g. 5.0.prealpha1). A doctest is added by

  * [attachment:sage-trac_7956.patch]

 Here's a description of the other patch, which fixes an apparent oversight
 in the class hierarchy.

 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?


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

 Apply

  * [attachment:sage-trac_7956.patch]

--

Comment(by mstreng):

 Replying to [comment:3 mjo]:
 > It looks like this is working, here's a doctest for it.

 You mean that the bug is fixed in current Sage already, not that wjp's
 patch is working.

 Apply sage-trac_7956.patch only.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7956#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to