Projective Plane Curves

ProjectivePlaneCurveType
ProjectivePlaneCurve <: AbsProjectiveCurve

A reduced curve in the projective plane.

Examples

julia> R, (x,y,z) = graded_polynomial_ring(QQ, ["x", "y", "z"]);

julia> C = plane_curve(y^3*x^6 - y^6*x^2*z)
Projective plane curve
  defined by 0 = x^5*y - x*y^4*z
source

Projective plane curves are modeled in Oscar as projective algebraic sets. See AbsProjectiveAlgebraicSet(@ref). In addition to the methods for algebraic sets and curves the following methods special to plane curves are available.

defining_equationMethod
defining_equation(C::AffinePlaneCurve)

Return the defining equation of C.

source
defining_equation(C::ProjectivePlaneCurve)

Return the defining equation of the (reduced) plane curve C.

source
degreeMethod
degree(C::ProjectivePlaneCurve)

Return the degree of the defining polynomial of C.

source
common_componentsMethod
common_components(C::S, D::S) where {S<:ProjectivePlaneCurve}

Return the projective plane curve consisting of the common components of C and D, or an empty vector if they do not have a common component.

source
multiplicityMethod
multiplicity(C::ProjectivePlaneCurve{S}, P::AbsProjectiveRationalPoint)

Return the multiplicity of C at P.

source
tangent_linesMethod
tangent_lines(C::ProjectivePlaneCurve{S}, P::AbsProjectiveRationalPoint) where S <: FieldElem

Return the tangent lines at P to C with their multiplicity.

source
intersection_multiplicityMethod
intersection_multiplicity(C::S, D::S, P::AbsProjectiveRationalPoint) where S <: ProjectivePlaneCurve

Return the intersection multiplicity of C and D at P.

source
is_transverse_intersectionMethod
is_transverse_intersection(C::S, D::S, P::AbsProjectiveRationalPoint) where S <: ProjectivePlaneCurve

Return true if C and D intersect transversally at P and false otherwise.

source