Hypersurfaces in affine and projective space¶

AUTHORS:

class sage.schemes.generic.hypersurface.AffineHypersurface(poly, ambient=None)

The affine hypersurface defined by the given polynomial.

EXAMPLES:

sage: A.<x, y, z> = AffineSpace(ZZ, 3)
sage: AffineHypersurface(x*y-z^3, A)
Affine hypersurface defined by -z^3 + x*y in Affine Space of dimension 3 over Integer Ring
sage: A.<x, y, z> = QQ[]
sage: AffineHypersurface(x*y-z^3)
Affine hypersurface defined by -z^3 + x*y in Affine Space of dimension 3 over Rational Field
defining_polynomial()

Return the polynomial equation that cuts out this affine hypersurface.

EXAMPLES:

sage: R.<x, y, z> = ZZ[]
sage: H = AffineHypersurface(x*z+y^2)
sage: H.defining_polynomial()
y^2 + x*z
class sage.schemes.generic.hypersurface.ProjectiveHypersurface(poly, ambient=None)

The projective hypersurface defined by the given polynomial.

EXAMPLES:

sage: P.<x, y, z> = ProjectiveSpace(ZZ, 2)
sage: ProjectiveHypersurface(x-y, P)
Projective hypersurface defined by x - y in Projective Space of dimension 2 over Integer Ring
sage: R.<x, y, z> = QQ[]
sage: ProjectiveHypersurface(x-y)
Projective hypersurface defined by x - y in Projective Space of dimension 2 over Rational Field
defining_polynomial()

Return the polynomial equation that cuts out this projective hypersurface.

EXAMPLES:

sage: R.<x, y, z> = ZZ[]
sage: H = ProjectiveHypersurface(x*z+y^2)
sage: H.defining_polynomial()
y^2 + x*z
sage.schemes.generic.hypersurface.is_Hypersurface(self)

Return True if self is a hypersurface, i.e. an object of the type ProjectiveHypersurface or AffineHypersurface.

EXAMPLES:

sage: from sage.schemes.generic.hypersurface import is_Hypersurface
sage: R.<x, y, z> = ZZ[]
sage: H = ProjectiveHypersurface(x*z+y^2)
sage: is_Hypersurface(H)
True
sage: H = AffineHypersurface(x*z+y^2)
sage: is_Hypersurface(H)
True
sage: H = ProjectiveSpace(QQ, 5)
sage: is_Hypersurface(H)
False