Opened 13 years ago

Closed 7 years ago

implement the projective dual of a plane curve

Reported by: Owned by: Alex Ghitza Alex Ghitza minor sage-7.1 algebraic geometry projective duality David Eklund Volker Braun N/A 5a4b960 5a4b960e08005915ff86afb9f8207d33a0f76dee

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

comment:1 Changed 11 years ago by David Eklund

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 11 years ago by David Eklund

Authors: → David Eklund major → minor

Changed 10 years ago by David Eklund

Attachment: trac_8801_projective_duals.patch​ added

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

comment:3 Changed 10 years ago by David Eklund

Patch rebased on top of Sage 5.2.

comment:4 Changed 9 years ago by Frédéric Chapoton

Branch: → u/chapoton/8801 → 04c7bd0eed549d404bdd72d2ef1faf6ac73c7c67

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

New commits:

 ​50eb935 `Trac 8801: Add duals of projective hypersurfaces.` ​04c7bd0 `trac #8801 make sure that tests pass`

comment:5 Changed 9 years ago by David Eklund

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 9 years ago by David Eklund (previous) (diff)

comment:6 Changed 9 years ago by David Eklund

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

Last edited 9 years ago by David Eklund (previous) (diff)

comment:7 Changed 8 years ago by git

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 Frédéric Chapoton

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 git

Commit: d8cb633d95220f171a9bb257ca6b620629134378 → ba23a276ff64a8708a4a581d61a0e60f30a33d6e

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

 ​4aa3fb9 `Merge branch 'u/chapoton/8801' into 6.6.b1` ​ba23a27 `trac #8801 correct use of elim lib of singular`

comment:10 Changed 8 years ago by Frédéric Chapoton

Milestone: sage-wishlist → sage-6.7

comment:11 Changed 8 years ago by Frédéric Chapoton

Keywords: projective duality added sage-6.7 → sage-6.8

comment:12 Changed 7 years ago by Frédéric Chapoton

Milestone: sage-6.8 → sage-6.9

comment:13 Changed 7 years ago by Frédéric Chapoton

Milestone: sage-6.9 → sage-6.10

nobody interested by this ticket ?

comment:14 Changed 7 years ago by Frédéric Chapoton

Milestone: sage-6.10 → sage-7.0

comment:15 Changed 7 years ago by git

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 Frédéric Chapoton

Milestone: sage-7.0 → sage-7.1

comment:17 Changed 7 years ago by Volker Braun

Reviewers: → Volker Braun needs_review → positive_review

comment:18 Changed 7 years ago by Volker Braun

Branch: u/chapoton/8801 → 5a4b960e08005915ff86afb9f8207d33a0f76dee → fixed positive_review → closed
Note: See TracTickets for help on using tickets.