Projective Plane Curves
ProjectivePlaneCurve
— TypeProjectivePlaneCurve <: 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
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_equation
— Methoddefining_equation(C::AffinePlaneCurve)
Return the defining equation of C
.
defining_equation(C::ProjectivePlaneCurve)
Return the defining equation of the (reduced) plane curve C
.
degree
— Methoddegree(C::ProjectivePlaneCurve)
Return the degree of the defining polynomial of C
.
common_components
— Methodcommon_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.
multiplicity
— Methodmultiplicity(C::ProjectivePlaneCurve{S}, P::AbsProjectiveRationalPoint)
Return the multiplicity of C
at P
.
tangent_lines
— Methodtangent_lines(C::ProjectivePlaneCurve{S}, P::AbsProjectiveRationalPoint) where S <: FieldElem
Return the tangent lines at P
to C
with their multiplicity.
intersection_multiplicity
— Methodintersection_multiplicity(C::S, D::S, P::AbsProjectiveRationalPoint) where S <: ProjectivePlaneCurve
Return the intersection multiplicity of C
and D
at P
.
is_transverse_intersection
— Methodis_transverse_intersection(C::S, D::S, P::AbsProjectiveRationalPoint) where S <: ProjectivePlaneCurve
Return true
if C
and D
intersect transversally at P
and false
otherwise.