Hypersurfaces in affine and projective space#

AUTHORS:

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

Bases: AlgebraicScheme_subscheme_affine

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)#

Bases: AlgebraicScheme_subscheme_projective

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