Opened 2 years ago
Closed 2 years ago
#20848 closed enhancement (fixed)
Degree and arithmetic genus for projective curves
Reported by:  gjorgenson  Owned by:  

Priority:  minor  Milestone:  sage7.3 
Component:  algebraic geometry  Keywords:  gsoc2016 
Cc:  bhutz, mmarco  Merged in:  
Authors:  Grayson Jorgenson  Reviewers:  Ben Hutz 
Report Upstream:  N/A  Work issues:  
Branch:  3427412 (Commits)  Commit:  3427412f972f676039d7e9a6075f4855e999945f 
Dependencies:  Stopgaps: 
Description
Implement a function to compute the degree of a projective curve, and generalize the existing arithmetic genus computation for projective plane curves to work for arbitrary projective curves.
Change History (19)
comment:1 Changed 2 years ago by
 Branch set to u/gjorgenson/ticket/20848
comment:2 Changed 2 years ago by
 Commit set to 0f962116681a5683ad2db4201dbfe13a4b8540cf
comment:3 Changed 2 years ago by
 Status changed from new to needs_review
comment:4 Changed 2 years ago by
In the case of plane curves, which genus do we want to assignt to nonreduced curves?
comment:5 Changed 2 years ago by
Oops, I was under the impression that these definitions agreed for arbitrary plane curves. Is the Hilbert polynomial definition still okay for reducible/nonreduced curves? Would it be better to restrict the genus computations to just irreducible curves?
comment:6 Changed 2 years ago by
I think genus should be restricted to irreducible. The problem is not the difference between plane and not plane curves. You could have a curve with multiple components of different genus
eg: (yx)(y^{2x}2x1)
comment:7 Changed 2 years ago by
 Commit changed from 0f962116681a5683ad2db4201dbfe13a4b8540cf to 07e6b720f2cf15bdf9b3ac814e987925c3937d4b
I added an is_irreducible check which checks irreducibility by just counting irreducible components.
The new commit shows up in the log for this ticket but no notification seems to have been generated (I think because of the trac server change).
EDIT: actually the new commit shows up as part of this comment now
New commits:
07e6b72  20848: added is_irreducible check

comment:8 Changed 2 years ago by
 Reviewers set to Ben Hutz
 Status changed from needs_review to needs_work
 Just checking the number of components for is_irreducible is not good enough. You're better off checking if the defining ideal is prime.
P.<x,y>=ProjectiveSpace(QQ,1) X=P.subscheme([x^2]) X.is_irreducible(),X.defining_ideal().is_prime()
 since the degree is just the dim! times the leading coefficient of HP, why not do it for projective subschemes instead of just curves?
 Adding an actual REF for Hartshorne would be nice.
comment:9 Changed 2 years ago by
 Commit changed from 07e6b720f2cf15bdf9b3ac814e987925c3937d4b to f4709f535b1c9b1e8233f73353a8f2e28d1ca1fb
 Status changed from needs_work to needs_review
Thanks, made the changes.
New commits:
f4709f5  20848: generalized degree computation, and improved is_irreducible

comment:10 Changed 2 years ago by
 Status changed from needs_review to positive_review
comment:12 Changed 2 years ago by
 Commit changed from f4709f535b1c9b1e8233f73353a8f2e28d1ca1fb to df1faa685c2092d9b04710a3f2fbe23ed423bd3f
Branch pushed to git repo; I updated commit sha1. New commits:
df1faa6  20848: merge with 7.3 beta5.

comment:13 Changed 2 years ago by
 Status changed from needs_work to needs_review
comment:14 Changed 2 years ago by
 Status changed from needs_review to positive_review
comment:15 Changed 2 years ago by
 Status changed from positive_review to needs_work
Merge conflict #20839
comment:16 Changed 2 years ago by
 Commit changed from df1faa685c2092d9b04710a3f2fbe23ed423bd3f to 3427412f972f676039d7e9a6075f4855e999945f
Branch pushed to git repo; I updated commit sha1. New commits:
f775a0f  20839: first implementation attempt.

e0188ce  20839: some changes from review

6564724  20839: merge with ticket 20774

09eea02  20839: some remaining changes from review

4b9ab0a  20839: implemented Serre intersection multiplicity for affine/projective subschemes

cae16fe  20839: improved is_transverse

3427412  20848: merge with ticket 20839

comment:17 Changed 2 years ago by
 Status changed from needs_work to needs_review
Okay I think the conflict with #20839 is fixed now.
comment:18 Changed 2 years ago by
 Status changed from needs_review to positive_review
still looks fine for me.
comment:19 Changed 2 years ago by
 Branch changed from u/gjorgenson/ticket/20848 to 3427412f972f676039d7e9a6075f4855e999945f
 Resolution set to fixed
 Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. New commits:
20848: first implementation attempt.