24.1 Plane curve constructors

Module: sage.schemes.plane_curves.constructor

Author Log:

Module-level Functions

Curve( F)

Return the plane or space curve defined by $ F$ , where $ F$ can be either a multivariate polynomial, a list or tuple of polynomials, or an algebraic scheme.

If $ F$ is in two variables the curve is affine, and if it is homogenous in $ 3$ variables, then the curve is projective.

A projective plane curve

sage: x,y,z = Q['x,y,z'].gens()
sage: C = Curve(x^3 + y^3 + z^3); C
Projective Curve over Rational Field defined by z^3 + y^3 + x^3
sage: C.genus()
1

Affine plane curves

sage: x,y = GF(7)['x,y'].gens()
sage: C = Curve(y^2 + x^3 + x^10); C
Affine Curve over Finite Field of size 7 defined by y^2 + x^3 + x^10
sage: C.genus()
0
sage: x, y = Q['x,y'].gens()
sage: Curve(x^3 + y^3 + 1)
Affine Curve over Rational Field defined by 1 + y^3 + x^3

A projective space curve

sage: x,y,z,w = Q['x,y,z,w'].gens()
sage: C = Curve([x^3 + y^3 - z^3 - w^3, x^5 - y*z^4]); C
Projective Space Curve over Rational Field defined by -1*w^3 - z^3 + y^3 +
x^3
sage: C.genus()
13

An affine space curve

sage: x,y,z = Q['x,y,z'].gens()
sage: C = Curve([y^2 + x^3 + x^10 + z^7,  x^2 + y^2]); C
Affine Space Curve over Rational Field defined by z^7 + y^2 + x^3 + x^10
sage: C.genus()
47

We can also make non-reduced non-irreducible curves.

sage: x,y,z = Q['x,y,z'].gens()
sage: Curve((x-y)*(x+y))
Projective Curve over Rational Field defined by -1*y^2 + x^2
sage: Curve((x-y)^2*(x+y)^2)
Projective Curve over Rational Field defined by y^4 - 2*x^2*y^2 + x^4

A union of curves is a curve.

sage: x,y,z = Q['x,y,z'].gens()
sage: C = Curve(x^3 + y^3 + z^3)
sage: D = Curve(x^4 + y^4 + z^4)
sage: C.union(D)
Projective Curve over Rational Field defined by
 z^7 + y^3*z^4 + y^4*z^3 + y^7 + x^3*z^4 + x^3*y^4 + x^4*z^3 + x^4*y^3 +
x^7

The intersection is not a curve, though it is a scheme.

sage: X = C.intersection(D); X
Closed subscheme of Projective Space of dimension 2 over Rational Field
defined by:
  z^3 + y^3 + x^3
  z^4 + y^4 + x^4

Note that the intersection has dimension 0 .

sage: X.dimension()
0
sage: I = X.defining_ideal(); I
Ideal (z^3 + y^3 + x^3, z^4 + y^4 + x^4) of Polynomial Ring in x, y, z over
Rational Field

Defining equation must be homogeneous. If the parent polynomial ring is in three variables, then the defining ideal must be homogeneous.

sage: x,y,z = Q['x,y,z'].gens()
sage: Curve(x^2+y^2)
Projective Curve over Rational Field defined by y^2 + x^2
sage: Curve(x^2+y^2+z)
Traceback (most recent call last):
...
TypeError: defining polynomials (= z + y^2 + x^2) must be homogeneous

See About this document... for information on suggesting changes.