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

Priority:  minor  Milestone:  sage7.3 
Component:  algebraic geometry  Keywords:  gsoc2016 
Cc:  Ben Hutz, Miguel Marco  Merged in:  
Authors:  Grayson Jorgenson  Reviewers:  Ben Hutz 
Report Upstream:  N/A  Work issues:  
Branch:  3427412 (Commits, GitHub, GitLab)  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 6 years ago by
Branch:  → u/gjorgenson/ticket/20848 

comment:2 Changed 6 years ago by
Commit:  → 0f962116681a5683ad2db4201dbfe13a4b8540cf 

comment:3 Changed 6 years ago by
Status:  new → needs_review 

comment:4 Changed 6 years ago by
In the case of plane curves, which genus do we want to assignt to nonreduced curves?
comment:5 Changed 6 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 6 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 6 years ago by
Commit:  0f962116681a5683ad2db4201dbfe13a4b8540cf → 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 6 years ago by
Reviewers:  → Ben Hutz 

Status:  needs_review → 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 6 years ago by
Commit:  07e6b720f2cf15bdf9b3ac814e987925c3937d4b → f4709f535b1c9b1e8233f73353a8f2e28d1ca1fb 

Status:  needs_work → needs_review 
Thanks, made the changes.
New commits:
f4709f5  20848: generalized degree computation, and improved is_irreducible

comment:10 Changed 6 years ago by
Status:  needs_review → positive_review 

comment:12 Changed 6 years ago by
Commit:  f4709f535b1c9b1e8233f73353a8f2e28d1ca1fb → df1faa685c2092d9b04710a3f2fbe23ed423bd3f 

Branch pushed to git repo; I updated commit sha1. New commits:
df1faa6  20848: merge with 7.3 beta5.

comment:13 Changed 6 years ago by
Status:  needs_work → needs_review 

comment:14 Changed 6 years ago by
Status:  needs_review → positive_review 

comment:16 Changed 6 years ago by
Commit:  df1faa685c2092d9b04710a3f2fbe23ed423bd3f → 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 6 years ago by
Status:  needs_work → needs_review 

Okay I think the conflict with #20839 is fixed now.
comment:19 Changed 6 years ago by
Branch:  u/gjorgenson/ticket/20848 → 3427412f972f676039d7e9a6075f4855e999945f 

Resolution:  → fixed 
Status:  positive_review → closed 
Branch pushed to git repo; I updated commit sha1. New commits:
20848: first implementation attempt.