Opened 3 years ago

Closed 2 years ago

Last modified 2 years ago

#19551 closed defect (fixed)

Basic failures in projective product morphisms

Reported by: bhutz Owned by:
Priority: minor Milestone: sage-6.10
Component: algebraic geometry Keywords: product projective morphism
Cc: bhutz Merged in:
Authors: Tom Salvi, Joseph Eisner Reviewers: Ben Hutz
Report Upstream: N/A Work issues:
Branch: 1ded112 (Commits) Commit:
Dependencies: Stopgaps:

Description

The following are simple bugs in projective product morphisms:

PP.<x,y,z,u,v,w>=ProductProjectiveSpaces(QQ,[1,1,1])
HP=End(PP)
f=HP([v*x^2,w*y^2,z^2,u^2,v^2,w^2])
Q=PP([0,1,1,1,1,0])
f(Q)
R.<s,t>=PolynomialRing(QQ)
Z.<a,b,x,y,z> = ProductProjectiveSpaces([1,2],QQ)
P.<u,v,w,s,t,r>=ProductProjectiveSpaces([3,1],QQ)
H =Hom(Z,P)
f = H([a^2,b^2,a^2,a*b,a*x,b*z])

the following should fail (not multihomogeneous) but passes

Z.<a,b,c,x,y,z> = ProductProjectiveSpaces([1,3],QQ)
P.<u,v,w,s,t,r>=ProductProjectiveSpaces([2,2],QQ)
H =Hom(Z,P)
f = H([a^2,b^2,c^2,x^2,y^2,z^2])

Change History (14)

comment:1 Changed 3 years ago by bhutz

Call also needs some basic input checking:

PP.<t0,t1,t2,t3,t4>=ProductProjectiveSpaces([2,1],ZZ)
Q=PP([1,1,1,2,1])
Z.<a,b,x,y,z> = ProductProjectiveSpaces([1,2],ZZ)
H = End(Z)
f = H([a^3,b^3+a*b^2,x^2,y^2-z^2,z*y])
f(Q)

comment:2 Changed 3 years ago by tsalvi

  • Branch set to u/tsalvi/ticket/19551

comment:3 Changed 3 years ago by tsalvi

  • Authors set to Tom Salvi, Joe Eisner
  • Commit set to 2858087c035d7b533419ea04666c810d7ae10d67
  • Status changed from new to needs_review

New commits:

285808719551: fix failures in projective projects

comment:4 Changed 3 years ago by bhutz

  • Reviewers set to Ben Hutz
  • Status changed from needs_review to needs_work

A couple comments:

  • There is a test failure in morphism.py. That test is checking if the map is a non-morpism, but the map is actually poorly defined. So correct the map to still be a non-morphism, but a valid map.
  • I think we need at least some basic input checking in call, e.g. that the codomain of the point is in the domain of the function, otherwise examples like the following are badly behaved:
PP.<t0,t1,t2,t3,t4>=ProductProjectiveSpaces([2,1],ZZ)
Q=PP([1,1,1,2,1])
Z.<a,b,x,y,z> = ProductProjectiveSpaces([1,2],ZZ)
H = End(Z)
f = H([a^3,b^3+a*b^2,x^2,y^2-z^2,z*y])
f(Q)

While we are fixing call, I think you should add a test for the parameter check as well, such as the following:

PP.<x,y,z,u,v,w,s,t>=ProductProjectiveSpaces(QQ,[3,3])
HP=End(PP)
g=HP([4*v*x^2,2*w*y^2,2*v*z^2,2*s*x*y,v^2,w^2,3*s*v,t^2])
P=PP([1,1,2,1,1,0,3,1])
g(P,check=False)

comment:5 Changed 3 years ago by git

  • Commit changed from 2858087c035d7b533419ea04666c810d7ae10d67 to d705d0196f22cf0313240da6b4e4fec1202659a1

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

d705d0119551: added check and examples

comment:6 Changed 2 years ago by git

  • Commit changed from d705d0196f22cf0313240da6b4e4fec1202659a1 to 7054db6d8b3a301db65ca77ddbf35d08f3343eb8

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

7054db6Merge branch 'master' into t/19551/ticket/19551

comment:7 Changed 2 years ago by bhutz

Still needs some minor work:

should have spaces around the = sage: PP.<t0,t1,t2,t3,t4>=ProductProjectiveSpaces([2,1], ZZ)

On lines 12, 39, 62, 149, 388 there is terminating white space

In the functions init, call no space around = for check

2 doc test failures

comment:8 Changed 2 years ago by git

  • Commit changed from 7054db6d8b3a301db65ca77ddbf35d08f3343eb8 to 1ded112bc0f82424e24ec6355d382a5ad64af4f6

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

1ded11219551: fix issues about spacing and doctest

comment:9 Changed 2 years ago by tsalvi

  • Status changed from needs_work to needs_review

comment:10 Changed 2 years ago by bhutz

  • Status changed from needs_review to positive_review

Still needs some minor work:

should have spaces around the = sage: PP.<t0,t1,t2,t3,t4>=ProductProjectiveSpaces([2,1], ZZ)

On lines 12, 39, 62, 149, 388 there is terminating white space

In the functions init, call no space around = for check

2 doc test failures


New commits:

1ded11219551: fix issues about spacing and doctest

comment:11 Changed 2 years ago by vbraun

  • Branch changed from u/tsalvi/ticket/19551 to 1ded112bc0f82424e24ec6355d382a5ad64af4f6
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:12 Changed 2 years ago by jdemeyer

  • Commit 1ded112bc0f82424e24ec6355d382a5ad64af4f6 deleted

Is "Joe Eisner" by chance equal to "Joseph Eisner" from #19891 and #20067?

comment:13 Changed 2 years ago by bhutz

  • Authors changed from Tom Salvi, Joe Eisner to Tom Salvi, Joseph Eisner

Yes, those are the same.

comment:14 Changed 2 years ago by kcrisman

Also, just want to make sure that it should be "Tom Salvi" and not "Thomas P. Salvi" as you registered.

Note: See TracTickets for help on using tickets.