Opened 13 years ago
Closed 7 years ago
#8801 closed enhancement (fixed)
implement the projective dual of a plane curve
Reported by:  Alex Ghitza  Owned by:  Alex Ghitza 

Priority:  minor  Milestone:  sage7.1 
Component:  algebraic geometry  Keywords:  projective duality 
Cc:  Merged in:  
Authors:  David Eklund  Reviewers:  Volker Braun 
Report Upstream:  N/A  Work issues:  
Branch:  5a4b960 (Commits, GitHub, GitLab)  Commit:  5a4b960e08005915ff86afb9f8207d33a0f76dee 
Dependencies:  Stopgaps: 
Description
This was requested by Ursula Whitcher on sagesupport. She adds:
I'm playing with a family of plane curves with rational coefficients in the complex projective plane. So rational or complex numbers would be enough for me to test examples. In a perfect world I'd be able to specify a family using rational functions of arbitrary constants (something like a x^2 + b/(a1) y^2), and compute the projective dual in terms of those constants.
A good place to start in implementing this could be http://www.emilvolcheck.com/dual.ps
Attachments (1)
Change History (19)
comment:1 Changed 11 years ago by
comment:2 Changed 11 years ago by
Authors:  → David Eklund 

Priority:  major → minor 
Changed 10 years ago by
Attachment:  trac_8801_projective_duals.patch added 

The patch implements duals of projective hypersurfaces. Patch rebased on top of Sage 5.2.
comment:4 Changed 9 years ago by
Branch:  → u/chapoton/8801 

Commit:  → 04c7bd0eed549d404bdd72d2ef1faf6ac73c7c67 
comment:5 Changed 9 years ago by
I guess it could be reviewed. It could be useful as it is. I had some plans to do something better but someone stole all my time... There is no particular reason to stick to hypersurfaces, it was just meant as an initial simplification.
comment:7 Changed 8 years ago by
Commit:  04c7bd0eed549d404bdd72d2ef1faf6ac73c7c67 → d8cb633d95220f171a9bb257ca6b620629134378 

Branch pushed to git repo; I updated commit sha1. New commits:
d8cb633  Merge branch 'u/chapoton/8801' into 6.5.b6

comment:8 Changed 8 years ago by
Status:  new → needs_review 

turning that into needs review
to require feedback:
what is the class of rings over which this can currently work ?
comment:9 Changed 8 years ago by
Commit:  d8cb633d95220f171a9bb257ca6b620629134378 → ba23a276ff64a8708a4a581d61a0e60f30a33d6e 

comment:10 Changed 8 years ago by
Milestone:  sagewishlist → sage6.7 

comment:11 Changed 8 years ago by
Keywords:  projective duality added 

Milestone:  sage6.7 → sage6.8 
comment:12 Changed 7 years ago by
Milestone:  sage6.8 → sage6.9 

comment:13 Changed 7 years ago by
Milestone:  sage6.9 → sage6.10 

nobody interested by this ticket ?
comment:14 Changed 7 years ago by
Milestone:  sage6.10 → sage7.0 

comment:15 Changed 7 years ago by
Commit:  ba23a276ff64a8708a4a581d61a0e60f30a33d6e → 5a4b960e08005915ff86afb9f8207d33a0f76dee 

Branch pushed to git repo; I updated commit sha1. New commits:
5a4b960  Merge branch 'u/chapoton/8801' into 7.0.rc1

comment:16 Changed 7 years ago by
Milestone:  sage7.0 → sage7.1 

comment:17 Changed 7 years ago by
Reviewers:  → Volker Braun 

Status:  needs_review → positive_review 
comment:18 Changed 7 years ago by
Branch:  u/chapoton/8801 → 5a4b960e08005915ff86afb9f8207d33a0f76dee 

Resolution:  → fixed 
Status:  positive_review → closed 
The attached patch implements this for (reduced and irreducible) hypersurfaces over the rationals. I intend to generalize this.
I use Grobner bases and elimination. Resultants might be faster so I might switch to that approach.
If you plug in a variety I think the dual should be reduced. I'm not sure exactly what the scheme structure of the output is at the moment.
Something related to think about for the general case: given a subscheme X of projective space, what should the dual of X be?
I will look at the approach described in the attached paper. When the dual is a hypersurface and has smaller degree than "expected", that approach seems to be better than the one used at the moment.