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: sage-7.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 sage-support. 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/(a-1) 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)

trac_8801_projective_duals.patch (4.7 KB) - added by davideklund 8 years ago.
The patch implements duals of projective hypersurfaces. Patch rebased on top of Sage 5.2.

Download all attachments as: .zip

Change History (19)

comment:1 Changed 9 years ago by davideklund

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.

comment:2 Changed 9 years ago by davideklund

  • Authors set to David Eklund
  • Priority changed from major to minor

Changed 8 years ago by davideklund

The patch implements duals of projective hypersurfaces. Patch rebased on top of Sage 5.2.

comment:3 Changed 8 years ago by davideklund

Patch rebased on top of Sage 5.2.

comment:4 Changed 7 years ago by chapoton

  • Branch set to u/chapoton/8801
  • Commit set to 04c7bd0eed549d404bdd72d2ef1faf6ac73c7c67

Here is a git branch. Maybe this could be considered as need review ?


New commits:

50eb935Trac 8801: Add duals of projective hypersurfaces.
04c7bd0trac #8801 make sure that tests pass

comment:5 Changed 7 years ago by davideklund

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.

Last edited 7 years ago by davideklund (previous) (diff)

comment:6 Changed 7 years ago by davideklund

Nor is there any particular reason to stick to varieties over Q.

Last edited 7 years ago by davideklund (previous) (diff)

comment:7 Changed 6 years ago by git

  • Commit changed from 04c7bd0eed549d404bdd72d2ef1faf6ac73c7c67 to d8cb633d95220f171a9bb257ca6b620629134378

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

d8cb633Merge branch 'u/chapoton/8801' into 6.5.b6

comment:8 Changed 6 years ago by chapoton

  • 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 git

  • Commit changed from d8cb633d95220f171a9bb257ca6b620629134378 to ba23a276ff64a8708a4a581d61a0e60f30a33d6e

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

4aa3fb9Merge branch 'u/chapoton/8801' into 6.6.b1
ba23a27trac #8801 correct use of elim lib of singular

comment:10 Changed 6 years ago by chapoton

  • Milestone changed from sage-wishlist to sage-6.7

comment:11 Changed 6 years ago by chapoton

  • Keywords projective duality added
  • Milestone changed from sage-6.7 to sage-6.8

comment:12 Changed 5 years ago by chapoton

  • Milestone changed from sage-6.8 to sage-6.9

comment:13 Changed 5 years ago by chapoton

  • Milestone changed from sage-6.9 to sage-6.10

nobody interested by this ticket ?

comment:14 Changed 5 years ago by chapoton

  • Milestone changed from sage-6.10 to sage-7.0

comment:15 Changed 5 years ago by git

  • Commit changed from ba23a276ff64a8708a4a581d61a0e60f30a33d6e to 5a4b960e08005915ff86afb9f8207d33a0f76dee

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

5a4b960Merge branch 'u/chapoton/8801' into 7.0.rc1

comment:16 Changed 5 years ago by chapoton

  • Milestone changed from sage-7.0 to sage-7.1

comment:17 Changed 5 years ago by vbraun

  • Reviewers set to Volker Braun
  • Status changed from needs_review to positive_review

comment:18 Changed 5 years ago by vbraun

  • Branch changed from u/chapoton/8801 to 5a4b960e08005915ff86afb9f8207d33a0f76dee
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.