# Rational Points on Affine Schemes

AbsAffineRationalPointType
AbsAffineRationalPoint{CoefficientType, ParentType}

A rational point $P$ of an affine scheme $X$. We refer to $X$ as the parent of $P$.

Let $X \subseteq \mathbb{A}^n_k$ be an algebraic set or more generally a subscheme defined by the ideal $I = (f_1, \dots f_r) \subseteq k[x_1,\dots x_n]$. A rational point $p$ of $X$ is a tuple $p = (p_1, \dots , p_n) \in k^n$ such that $f_1(p) = \dots = f_n(p) = 0$.

source
AffineRationalPointType
AffineRationalPoint{CoeffType<:RingElem, ParentType<:RationalPointSet}

A rational point represented in terms of a vector of coordinates.

Examples

julia> A2 = affine_space(GF(2), [:x, :y]);

julia> (x, y) = coordinates(A2);

julia> X = algebraic_set(x*y);

julia> X([1, 0])
Rational point
of V(x*y)
with coordinates (1, 0)

source
coordinatesMethod
coordinates(p::AffineRationalPoint{S,T}) -> Vector{S}

Return the coordinates of the rational point p.

The coordinates are with respect to the ambient space of its ambient scheme.

source
idealMethod
ideal(P::AbsAffineRationalPoint)

Return the maximal ideal associated to P in the coordinate ring of its ambient space.

source
schemeMethod
scheme(P::AbsAffineRationalPoint) -> AbsAffineScheme

Return the rational point $P$ viewed as a reduced, affine subscheme of its ambient affine space.

source
closed_embeddingMethod
closed_embedding(P::AbsAffineRationalPoint) -> ClosedEmbedding

Return the closed embedding of P into its ambient scheme X.

source
is_smoothMethod
is_smooth(P::AbsAffineRationalPoint)

Return whether $P$ is a smooth point of its ambient scheme $X$.

source
tangent_spaceMethod
tangent_space(P::AbsAffineRationalPoint{<:FieldElem}) -> AlgebraicSet

Return the Zariski tangent space of the ambient scheme of P at its point P.

source

Some experimental methods are available too. Note that their interface is likely to change in the future.

is_du_val_singularityMethod
is_du_val_singularity(P::AbsAffineRationalPoint{<:Field})

Return whether the ambient scheme of P has at most a Du Val singularity at P.

Note that this includes the case that $P$ is a smooth point.

source
decide_du_val_singularityMethod
decide_du_val_singularity(P::AbsAffineRationalPoint{<:Field})

Return whether the ambient scheme of P has a Du Val singularity at P.

Examples

julia> A3 = affine_space(QQ, [:x, :y, :z]);

julia> (x, y, z) = ambient_coordinates(A3);

julia> X = subscheme(A3, ideal([x^2+y^2-z^2]));

julia> Oscar.decide_du_val_singularity(X([0,0,0]))
(true, (:A, 1))

source