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.
SpaceTypeis a parameter for the type of the space $X$ on which $ℱ$ is defined.OpenTypeis a type (most probably abstract!) for the open sets $U ⊂ X$ which are admissible as input for $ℱ(U)$.OutputTypeis a type (most probably abstract!) for the values that $ℱ$ takes on admissible open sets $U$.RestrictionTypeis 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 sheafFonU. 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 — TypePreSheafOnSchemeA basic minimal implementation of the interface for AbsPreSheaf; to be used internally.
Structure sheaves
StructureSheafOfRings — TypeStructureSheafOfRings <: AbsPreSheafOn 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::AbsAffineSchemeamong thebasic_patchesof thedefault_coveringofX;U::PrincipalOpenSubsetwithambient_scheme(U)in thebasic_patchesof thedefault_coveringofX;W::AffineSchemeOpenSubschemewithambient_scheme(W)in thebasic_patchesof thedefault_coveringofX.
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 <: AbsPreSheafA 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 <: AbsIdealSheafA 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 <: AbsPreSheafA sheaf of modules $ℳ$ on an AbsCoveredScheme $X$.
Note that due to technical reasons, the admissible open subsets are restricted to the following:
U::AbsAffineSchemeamong thebasic_patchesof thedefault_coveringofX;U::PrincipalOpenSubsetwithambient_scheme(U)in thebasic_patchesof thedefault_coveringofX.
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 QQtautological_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 QQcotangent_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.