Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Defining affine curves in 3D space #7954

Closed
wjp mannequin opened this issue Jan 16, 2010 · 6 comments
Closed

Defining affine curves in 3D space #7954

wjp mannequin opened this issue Jan 16, 2010 · 6 comments

Comments

@wjp
Copy link
Mannequin

wjp mannequin commented Jan 16, 2010

Reported by Ronald van Luijk:

because the Curve constructor automatically interprets a homogeneous polynomial in 3 variables as a projective curve, the following doesn't work:

A.<x,y,z>=AffineSpace(QQ,3)
C=Curve([x-y,x-z])

CC: @kwankyu

Component: algebraic geometry

Issue created by migration from https://trac.sagemath.org/ticket/7954

@wjp wjp mannequin added this to the sage-5.11 milestone Jan 16, 2010
@wjp wjp mannequin assigned aghitza Jan 16, 2010
@wjp
Copy link
Mannequin Author

wjp mannequin commented Jan 17, 2010

Attachment: 7954_curve_constructor.patch.gz

@wjp
Copy link
Mannequin Author

wjp mannequin commented Jan 17, 2010

comment:1

The attached patch adds an optional space='affine'/'projective' keyword argument to the Curve constructor.

@wjp wjp mannequin added the s: needs review label Jan 17, 2010
@williamstein
Copy link
Contributor

Attachment: trac_7954-part2.patch.gz

the previous patch was part 1. apply this after that one.

@williamstein
Copy link
Contributor

comment:2

Hi,

I made some important improvements to the patch while refereeing it. However, it is clear after looking at this code for a bit that there is a MAJOR design flaw (which Willem pointed out to me in person). The flaw is this in plane_curve/affine_curve.py:

class AffineSpaceCurve_generic(Curve_generic, AlgebraicScheme_subscheme_affine):
    def _repr_type(self):
        return "Affine Space"

However, Curve_generic is very much a plane curve:

class Curve_generic(AlgebraicScheme_subscheme):
...
    def defining_polynomial(self):
        return self.defining_polynomials()[0]

Thus the isa relationship that must be satisfied by derivation of objects is broken.

The space curve code must be completely moved out of this directory to the appropriate place.

@williamstein
Copy link
Contributor

comment:3

I'm going to wait to talk to willem about this instead of just trying to do it myself.

@jdemeyer jdemeyer modified the milestones: sage-5.11, sage-5.12 Aug 13, 2013
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@kwankyu
Copy link
Collaborator

kwankyu commented Jul 6, 2020

comment:9

The issue seems to have been solved now by adding Ambient space argument to the Curve constructor.

sage: A.<x,y,z>=AffineSpace(QQ,3)
sage: C = Curve([x-y,y-z],A)
sage: C
Affine Curve over Rational Field defined by x - y, y - z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants