#20018 closed defect (fixed)

init for endomorphism of projective subschemes fails

Reported by: bhutz Owned by: bhutz
Priority: minor Milestone: sage-7.1
Component: algebraic geometry Keywords:
Cc: Merged in:
Authors: Ben Hutz Reviewers: Adam Towsley
Report Upstream: N/A Work issues:
Branch: 03736f5 (Commits) Commit: 03736f56d5bff62e77344494349864f42a43fdd0
Dependencies: Stopgaps:

Description

The following example does not work

sage: R.<t>=PolynomialRing(QQ)
sage: P.<x,y,z> = ProjectiveSpace(R,2)
sage: X = P.subscheme(x^2-y^2)
sage: H = Hom(X,X)
sage: f = H([x^2,y^2,x*z])

but does work in affine space. It seems that the check in init is not quite doing the right thing.

Change History (9)

comment:1 Changed 20 months ago by bhutz

  • Branch set to u/bhutz/ticket/20018

comment:2 Changed 20 months ago by bhutz

  • Authors set to Ben Hutz
  • Commit set to bcb68d013dc8786c8f897f5d2b0c3329a93822a5
  • Status changed from new to needs_review

Since I didn't get any input from the sage-devel thread I went ahead an implemented one possible correction to these issues. At this stage I welcome comments on the solution.

The key points are as follows

  • the actual coordinates of the map remain in the coordinate ring of the ambient space (i.e., this is unchanged)
  • if you initialize the map with variables from the coordinate ring of the ambient space, they are not reduced modulo the defining ideal of the subscheme (new behavior)
  • if you initialize the map with variables from the coordinate ring of the subscheme, they are in the quotient, so are reduced. (unchanged)

This allows initialization to work in more situations such as for the problem in the description, but also corrects the weird behavior such as:

old behavior

sage: P.<x,y,z> = ProjectiveSpace(QQ,2)
sage: X=P.subscheme([x^2-y^2])
sage: H = End(X)
sage: f = H([x^2,y^2,z^2])
sage: f.multiplier(X([1,1]),1)
[0 2]
[0 2]

new behavior

sage: P.<x,y,z> = ProjectiveSpace(QQ,2)
sage: X=P.subscheme([x^2-y^2])
sage: H = End(X)
sage: f = H([x^2,y^2,z^2])
sage: f.multiplier(X([1,1]),1)
[2 0]
[0 2]

One consequence is the projective_embedding functionality in toric variety seems to be programmed to expect the reduction. Consequently, I've had the creation code use the quotient ring variables, so that behavior matches the current doctests.

In a couple places in elliptic_curve/jacobian.py the morphism returned is now in a slightly different form. This did not seem to big a difference, so I just updated those doctests.

comment:3 Changed 20 months ago by git

  • Commit changed from bcb68d013dc8786c8f897f5d2b0c3329a93822a5 to dd2c436278540666c3afd93f48ca7cae5977f64d

Branch pushed to git repo; I updated commit sha1. New commits:

dd2c43620018: changes to scheme morphism polynomial initialization

comment:4 Changed 20 months ago by git

  • Commit changed from dd2c436278540666c3afd93f48ca7cae5977f64d to 9fcdd5bc8e44c0553c2d26bb9752d57534afa4a4

Branch pushed to git repo; I updated commit sha1. New commits:

7663351Merge branch '7.1.beta3' into ticket/20018
9fcdd5b20018: correct doc test for beta3

comment:5 Changed 19 months ago by git

  • Commit changed from 9fcdd5bc8e44c0553c2d26bb9752d57534afa4a4 to 03736f56d5bff62e77344494349864f42a43fdd0

Branch pushed to git repo; I updated commit sha1. New commits:

03736f5Merge branch '7.1.beta5' into ticket/20018

comment:6 Changed 19 months ago by atowsley

  • Status changed from needs_review to positive_review

comment:7 Changed 19 months ago by vbraun

  • Status changed from positive_review to needs_work

Reviewer name is missing

comment:8 Changed 19 months ago by atowsley

  • Reviewers set to Adam Towsley
  • Status changed from needs_work to positive_review

comment:9 Changed 19 months ago by vbraun

  • Branch changed from u/bhutz/ticket/20018 to 03736f56d5bff62e77344494349864f42a43fdd0
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.