Projective Algebraic Sets
An projective algebraic set over an algebraically closed field $\overline{k}$ is the common vanishing locus $V\subseteq \mathbb{P}^n_{\overline{k}}$ of finitely many homogeneous polynomials $f_1,\dots f_r \in \overline{k}[x_0,\dots x_n]$, or equivalently of a homogeneous ideal $I \subseteq \overline{k}[x_0,\dots x_n]$ they generate. Structural questions about varieties can be answered by considering the corresponding homogeneous ideal of vanishing. For instance the projective Nullstellensatz states that $V$ is empty if and only if $I\supseteq (x_0,\dots, x_n)$.
In Oscar we work with projective algebraic sets over non-closed fields, by viewing them as reduced schemes. See Projective schemes.
More formally they are defined as follows:
AbsProjectiveAlgebraicSet
— TypeAbsProjectiveAlgebraicSet <: AbsProjectiveScheme
A projective, geometrically reduced scheme of finite type over a field.
Constructors
The recommended way to create an algebraic set is as a vanishing locus of a homogeneous ideal or polynomial.
vanishing_locus
— Methodvanishing_locus(I::MPolyIdeal{MPolyDecRingElem}; check::Bool=true)
Return the vanishing locus of the homogeneous ideal $I$ as an algebraic set in projective space.
This computes the radical of $I$ if check=true
. Otherwise Oscar takes on faith that $I$ is radical.
julia> P,(x0,x1) = graded_polynomial_ring(QQ,[:x0,:x1]);
julia> Oscar.vanishing_locus(ideal([x0,x1]))
Vanishing locus
in Projective 1-space over QQ
of ideal(x1, x0)
vanishing_locus
— Methodvanishing_locus(p::MPolyDecRingElem; check::Bool=true)
Return the vanishing locus of the homogeneous polynomial p
as an algebraic set in projective space.
This computes the radical of $I$ if check=true
otherwise take on faith that $I$ is radical.
Algebraic sets can also be constructed from projective schemes.
projective_algebraic_set
— Methodprojective_algebraic_set(X::AbsProjectiveScheme; check::Bool=true) -> ProjectiveAlgebraicSet
Convert X
to an ProjectiveAlgebraicSet
by taking the underlying reduced scheme.
If check=false
, assumes that X
is already reduced.
julia> P,(x0,x1,x2) = graded_polynomial_ring(QQ,[:x0,:x1,:x2]);
julia> X = projective_scheme(ideal([x0*x1^2, x2]))
Projective scheme
over Rational field
defined by ideal(x0*x1^2, x2)
julia> Y = Oscar.projective_algebraic_set(X)
Vanishing locus
in Projective 2-space over QQ
of ideal(x2, x0*x1)
set_theoretic_intersection
— Methodset_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
— Methodirreducible_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
with homogeneous coordinates s0 s1
over Rational field
julia> (s0,s1) = homogeneous_coordinates(P1);
julia> X = Oscar.vanishing_locus((s0^2+s1^2)*s1)
Vanishing locus
in Projective 1-space over QQ
of ideal(s0^2*s1 + s1^3)
julia> (X1,X2) = Oscar.irreducible_components(X)
2-element Vector{ProjectiveAlgebraicSet{QQField, MPolyQuoRing{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}}}:
Vanishing locus in IP^1 of ideal(s0^2 + s1^2)
Vanishing locus in IP^1 of ideal(s1)
julia> X1 # irreducible but not geometrically irreducible
Vanishing locus
in Projective 1-space over QQ
of ideal(s0^2 + s1^2)
geometric_irreducible_components
— Methodgeometric_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.
Attributes
In addition to the attributes inherited from Projective schemes the following are available.
vanishing_ideal
— Methodvanishing_ideal(X::AbsProjectiveAlgebraicSet) -> Ideal
Return the ideal of all homogeneous polynomials vanishing in $X$.
ideal
— Methodideal(X::AbsProjectiveAlgebraicSet) -> Ideal
Return the ideal of all homogeneous polynomials vanishing in $X$.
Methods
Inherited from Projective schemes
Properties
Inherited from Projective schemes