Plane quartic curves over a general ring

These are generic genus 3 curves, as distinct from hyperelliptic curves of genus 3.

EXAMPLES:

sage: PP.<X,Y,Z> = ProjectiveSpace(2, QQ)
sage: f = X^4 + Y^4 + Z^4 - 3*X*Y*Z*(X+Y+Z)
sage: C = QuarticCurve(f); C
Quartic Curve over Rational Field
 defined by X^4 + Y^4 - 3*X^2*Y*Z - 3*X*Y^2*Z - 3*X*Y*Z^2 + Z^4
>>> from sage.all import *
>>> PP = ProjectiveSpace(Integer(2), QQ, names=('X', 'Y', 'Z',)); (X, Y, Z,) = PP._first_ngens(3)
>>> f = X**Integer(4) + Y**Integer(4) + Z**Integer(4) - Integer(3)*X*Y*Z*(X+Y+Z)
>>> C = QuarticCurve(f); C
Quartic Curve over Rational Field
 defined by X^4 + Y^4 - 3*X^2*Y*Z - 3*X*Y^2*Z - 3*X*Y*Z^2 + Z^4
PP.<X,Y,Z> = ProjectiveSpace(2, QQ)
f = X^4 + Y^4 + Z^4 - 3*X*Y*Z*(X+Y+Z)
C = QuarticCurve(f); C
class sage.schemes.plane_quartics.quartic_generic.QuarticCurve_generic(A, f, category=None)[source]

Bases: ProjectivePlaneCurve

genus()[source]

Return the genus of self.

EXAMPLES:

sage: x,y,z = PolynomialRing(QQ, ['x','y','z']).gens()
sage: Q = QuarticCurve(x**4 + y**4 + z**4)
sage: Q.genus()
3
>>> from sage.all import *
>>> x,y,z = PolynomialRing(QQ, ['x','y','z']).gens()
>>> Q = QuarticCurve(x**Integer(4) + y**Integer(4) + z**Integer(4))
>>> Q.genus()
3
x,y,z = PolynomialRing(QQ, ['x','y','z']).gens()
Q = QuarticCurve(x**4 + y**4 + z**4)
Q.genus()
sage.schemes.plane_quartics.quartic_generic.is_QuarticCurve(C)[source]

Check whether C is a Quartic Curve.

EXAMPLES:

sage: from sage.schemes.plane_quartics.quartic_generic import is_QuarticCurve
sage: x,y,z = PolynomialRing(QQ, ['x','y','z']).gens()
sage: Q = QuarticCurve(x**4 + y**4 + z**4)
sage: is_QuarticCurve(Q)
doctest:warning...
DeprecationWarning: The function is_QuarticCurve is deprecated; use 'isinstance(..., QuarticCurve_generic)' instead.
See https://github.com/sagemath/sage/issues/38022 for details.
True
>>> from sage.all import *
>>> from sage.schemes.plane_quartics.quartic_generic import is_QuarticCurve
>>> x,y,z = PolynomialRing(QQ, ['x','y','z']).gens()
>>> Q = QuarticCurve(x**Integer(4) + y**Integer(4) + z**Integer(4))
>>> is_QuarticCurve(Q)
doctest:warning...
DeprecationWarning: The function is_QuarticCurve is deprecated; use 'isinstance(..., QuarticCurve_generic)' instead.
See https://github.com/sagemath/sage/issues/38022 for details.
True
from sage.schemes.plane_quartics.quartic_generic import is_QuarticCurve
x,y,z = PolynomialRing(QQ, ['x','y','z']).gens()
Q = QuarticCurve(x**4 + y**4 + z**4)
is_QuarticCurve(Q)