Projective Algebraic Sets

For finitely many homogeneous polynomials $f_1,\dots f_r \in k[x_0,\dots x_n]$, and $I=(f_1,\dots , f_n) \leq k[x_0,\dots x_n]$ the homogeneous ideal they generate, we denote by $X = V(I) \subseteq \mathbb{P}^n$ the projective algebraic set defined by $I$ and call $k$ its base field.

Let $\mathbb{P}^n(k)=(k^{n+1}\setminus\{0\})/k^*$ be the set of $k$-points of projective space of dimension $n$. If $k \subseteq K$ is any field extension, we denote the set of $K$-points of $X$ by

\[\begin{aligned}X(K) &= \{ P \in \mathbb{P}^n(K) \mid f_1(P)=\dots = f_n(P)=0\}\\ &=\{P \in \mathbb{P}^n(K) \mid \forall f\in I : f(P)=0\}.\end{aligned}\]

Most properties of the projective variety $X$ refer to $X(K)$ where $K$ is an algebraically closed field. Just like for affine schemes there are a few exceptions to this rule, for instance, whether $X$ is irreducible or not depends on its base field. See is_irreducible(X::AbsProjectiveScheme) for details. Further exceptions are documented in the individual methods.

Relation to schemes

One can view a projective algebraic set as a scheme. See Projective schemes.

More formally we define a projective algebraic set as follows:

AbsProjectiveAlgebraicSet <: AbsProjectiveScheme

A projective, geometrically reduced scheme of finite type over a field.



Projective algebraic sets can be created from homogeneous polynomials and homogeneous ideals in standard graded rings.


Return the projrective algebraic set defined by the homogeneous ideal $I$.

julia> P,(x0,x1) = graded_polynomial_ring(QQ,[:x0,:x1]);

julia> algebraic_set(ideal([x0,x1]))
Projective algebraic set
  in projective 1-space over QQ with coordinates [x0, x1]
defined by ideal (x1, x0)
algebraic_set(p::MPolyDecRingElem; check::Bool=true)

Return the projective algebraic set defined by the homogeneous polynomial p.


Algebraic sets can also be constructed from projective schemes.

algebraic_set(X::AbsProjectiveScheme; is_reduced::Bool=false, check::Bool=true) -> ProjectiveAlgebraicSet

Convert X to a ProjectiveAlgebraicSet by considering its underlying reduced scheme.

If is_reduced is true assume that X is already reduced.

julia> P, (x0, x1, x2) = graded_polynomial_ring(QQ,[:x0,:x1,:x2]);

julia> X = proj(ideal([x0*x1^2, x2]))
Projective scheme
  over rational field
defined by ideal (x0*x1^2, x2)

julia> Y = algebraic_set(X)
Projective algebraic set
  in projective 2-space over QQ with coordinates [x0, x1, x2]
defined by ideal (x2, x0*x1)
set_theoretic_intersection(X::AbsProjectiveAlgebraicSet, Y::AbsProjectiveAlgebraicSet) -> AbsProjectiveAlgebraicSet

Return the set theoretic intersection of X and Y as as algebraic sets in projective space.

This is the reduced subscheme of the scheme theoretic intersection.

irreducible_components(X::AbsProjectiveAlgebraicSet) -> Vector{ProjectiveVariety}

Return the irreducible components of $X$ defined over the base field of $X$.

Note that even if $X$ is irreducible, there may be several geometrically irreducible components.

julia> P1 = projective_space(QQ,1)
Projective space of dimension 1
  over rational field
with homogeneous coordinates [s0, s1]

julia> (s0,s1) = homogeneous_coordinates(P1);

julia> X = algebraic_set((s0^2+s1^2)*s1)
Projective algebraic set
  in projective 1-space over QQ with coordinates [s0, s1]
defined by ideal (s0^2*s1 + s1^3)

julia> (X1,X2) = irreducible_components(X)
2-element Vector{ProjectiveAlgebraicSet{QQField, MPolyQuoRing{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}}}:
 V(s0^2 + s1^2)

julia> X1  # irreducible but not geometrically irreducible
Projective algebraic set
  in projective 1-space over QQ with coordinates [s0, s1]
defined by ideal (s0^2 + s1^2)
geometric_irreducible_components(X::AbsProjectiveAlgebraicSet) -> Vector{ProjectiveVariety}

Return the geometrically irreducible components of X.

They are the irreducible components of X seen over an algebraically closed field.

This is expensive and involves taking field extensions.



In addition to the attributes inherited from Projective schemes the following are available.

vanishing_ideal(X::AbsProjectiveAlgebraicSet) -> Ideal

Return the ideal of all homogeneous polynomials vanishing in $X$.

fat_ideal(X::AbsProjectiveAlgebraicSet) -> Ideal

Return a homogeneous ideal whose radical is the vanishing ideal of X.



Inherited from Projective schemes


Inherited from Projective schemes