Opened 11 years ago
Closed 5 years ago
#8801 closed enhancement (fixed)
implement the projective dual of a plane curve
Reported by:  AlexGhitza  Owned by:  AlexGhitza 

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)  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 9 years ago by
comment:2 Changed 9 years ago by
 Priority changed from major to minor
Changed 8 years ago by
The patch implements duals of projective hypersurfaces. Patch rebased on top of Sage 5.2.
comment:3 Changed 8 years ago by
Patch rebased on top of Sage 5.2.
comment:4 Changed 7 years ago by
 Branch set to u/chapoton/8801
 Commit set to 04c7bd0eed549d404bdd72d2ef1faf6ac73c7c67
comment:5 Changed 7 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:6 Changed 7 years ago by
Nor is there any particular reason to stick to varieties over Q.
comment:7 Changed 6 years ago by
 Commit changed from 04c7bd0eed549d404bdd72d2ef1faf6ac73c7c67 to 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 6 years ago by
 Status changed from new to 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 6 years ago by
 Commit changed from d8cb633d95220f171a9bb257ca6b620629134378 to ba23a276ff64a8708a4a581d61a0e60f30a33d6e
comment:10 Changed 6 years ago by
 Milestone changed from sagewishlist to sage6.7
comment:11 Changed 6 years ago by
 Keywords projective duality added
 Milestone changed from sage6.7 to sage6.8
comment:12 Changed 5 years ago by
 Milestone changed from sage6.8 to sage6.9
comment:13 Changed 5 years ago by
 Milestone changed from sage6.9 to sage6.10
nobody interested by this ticket ?
comment:14 Changed 5 years ago by
 Milestone changed from sage6.10 to sage7.0
comment:15 Changed 5 years ago by
 Commit changed from ba23a276ff64a8708a4a581d61a0e60f30a33d6e to 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 5 years ago by
 Milestone changed from sage7.0 to sage7.1
comment:17 Changed 5 years ago by
 Reviewers set to Volker Braun
 Status changed from needs_review to positive_review
comment:18 Changed 5 years ago by
 Branch changed from u/chapoton/8801 to 5a4b960e08005915ff86afb9f8207d33a0f76dee
 Resolution set to fixed
 Status changed from positive_review to 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.