Sheaves on covered schemes
Oscar supports modeling sheaves by means of a covering by affine charts.
Presheaves
AbsPreSheaf
— TypeAbsPreSheaf{SpaceType, OpenType, OutputType, RestrictionType}
Abstract type for a sheaf ℱ on a space X.
SpaceType
is a parameter for the type of the space $X$ on which $ℱ$ is defined.OpenType
is a type (most probably abstract!) for the open sets $U ⊂ X$ which are admissible as input for $ℱ(U)$.OutputType
is a type (most probably abstract!) for the values that $ℱ$ takes on admissible open sets $U$.RestrictionType
is a parameter for the type of the restriction maps $ℱ(V) → ℱ(U)$ for $U ⊂ V ⊂ X$ open.
For any instance F
of AbsPreSheaf
on a topological space X
the following methods are implemented:
F(U)
for admissible open subsets $U ⊂ X$: This returns the value $ℱ(U)$ of the sheafF
onU
. Note that due to technical limitations, not every type of open subset might be admissible.restriction_map(F, U, V)
for admissible open subsets $V ⊂ U ⊂ X$: This returns the restriction map $ρ : ℱ(U) → ℱ(V)$.
PreSheafOnScheme
— TypePreSheafOnScheme
A basic minimal implementation of the interface for AbsPreSheaf
; to be used internally.
Structure sheaves
StructureSheafOfRings
— TypeStructureSheafOfRings <: AbsPreSheaf
On an AbsCoveredScheme
$X$ this returns the sheaf $𝒪$ of rings of regular functions on $X$.
Note that due to technical reasons, the admissible open subsets are restricted to the following:
U::AbsAffineScheme
among thebasic_patches
of thedefault_covering
ofX
;U::PrincipalOpenSubset
withambient_scheme(U)
in thebasic_patches
of thedefault_covering
ofX
;W::AffineSchemeOpenSubscheme
withambient_scheme(W)
in thebasic_patches
of thedefault_covering
ofX
.
One can call the restriction maps of $𝒪$ across charts, implicitly using the identifications given by the gluings in the default_covering
.
Ideal sheaves
AbsIdealSheaf
— TypeAbsIdealSheaf <: AbsPreSheaf
A sheaf of ideals $I$ on an AbsCoveredScheme
$X$.
For an affine open subset $U ⊂ X$ call $I(U)$ to obtain an ideal in OO(U)
representing I
.
IdealSheaf
— TypeIdealSheaf <: AbsIdealSheaf
A sheaf of ideals $ℐ$ on an AbsCoveredScheme
$X$ which is specified by a collection of concrete ideals on some open covering of $X$.
PrimeIdealSheafFromChart
— Typeraw PrimeIdealSheafFromChart
Type for sheaves of prime ideals $P$ on a covered scheme $X$ constructed from a prime ideal of the coordinate ring of a chart. Essentially this is a scheme theoretic point.
For $U$ an affine chart of $X$, the ideal $P(U)$ is computed using the gluings. The implementation is lazy.
Coherent sheaves of modules
SheafOfModules
— TypeSheafOfModules <: AbsPreSheaf
A sheaf of modules $ℳ$ on an AbsCoveredScheme
$X$.
Note that due to technical reasons, the admissible open subsets are restricted to the following:
U::AbsAffineScheme
among thebasic_patches
of thedefault_covering
ofX
;U::PrincipalOpenSubset
withambient_scheme(U)
in thebasic_patches
of thedefault_covering
ofX
.
One can call the restriction maps of $ℳ$ across charts implicitly using the identifications given by the gluings in the default_covering
.
twisting_sheaf
— Methodtwisting_sheaf(IP::AbsProjectiveScheme{<:Field}, d::Int)
For a ProjectiveScheme
$ℙ$ return the $d$-th twisting sheaf $𝒪(d)$ as a CoherentSheaf
on $ℙ$.
Examples
julia> P = projective_space(QQ,3)
Projective space of dimension 3
over rational field
with homogeneous coordinates [s0, s1, s2, s3]
julia> twisting_sheaf(P, 4)
Coherent sheaf of modules
on scheme over QQ covered with 4 patches
1: [(s1//s0), (s2//s0), (s3//s0)] affine 3-space
2: [(s0//s1), (s2//s1), (s3//s1)] affine 3-space
3: [(s0//s2), (s1//s2), (s3//s2)] affine 3-space
4: [(s0//s3), (s1//s3), (s2//s3)] affine 3-space
with restrictions
1: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
2: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
3: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
4: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
tautological_bundle
— Methodtautological_bundle(IP::AbsProjectiveScheme{<:Field})
For a ProjectiveScheme
$ℙ$ return the sheaf $𝒪(-1)$ as a CoherentSheaf
on $ℙ$.
Examples
julia> P = projective_space(QQ,3)
Projective space of dimension 3
over rational field
with homogeneous coordinates [s0, s1, s2, s3]
julia> tautological_bundle(P)
Coherent sheaf of modules
on scheme over QQ covered with 4 patches
1: [(s1//s0), (s2//s0), (s3//s0)] affine 3-space
2: [(s0//s1), (s2//s1), (s3//s1)] affine 3-space
3: [(s0//s2), (s1//s2), (s3//s2)] affine 3-space
4: [(s0//s3), (s1//s3), (s2//s3)] affine 3-space
with restrictions
1: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
2: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
3: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
4: free module of rank 1 over multivariate polynomial ring in 3 variables over QQ
cotangent_sheaf
— Methodcotangent_sheaf(X::AbsCoveredScheme)
For an AbsCoveredScheme
$X$, return the sheaf $Ω¹(X)$ of Kaehler-differentials on $X$ as a CoherentSheaf
.
free_module
— Methodfree_module(R::StructureSheafOfRings, n::Int)
Return the sheaf of free $𝒪$-modules $𝒪ⁿ$ for a structure sheaf of rings $𝒪 = R$.
projectivization
— Methodprojectivization(E::AbsCoherentSheaf;
var_names::Vector{String}=Vector{String}(),
check::Bool=true
)
For a locally free sheaf $E$ on an AbsCoveredScheme
$X$ this produces the associated projectivization $ℙ (E) → X$ as a CoveredProjectiveScheme
.
A list of names for the variables of the relative homogeneous coordinate rings can be provided with var_names
.
!!! note: The sheaf $E$ needs to be locally free so that a trivializing_covering
can be computed. The check for this can be turned off by setting check=false
.