Morphisms of projective schemes
Let $Q = B[y_0, \dots, y_n]/J$ and $P = A[x_0,\dots,x_m]/I$ be graded affine algebras over base_rings A and B, respectively. A morphism $\varphi : \mathrm{Proj}(Q) \to \mathrm{Proj}(P)$ is modeled via a morphism of graded algebras $\varphi^* : P \to Q$. In the case of A != B, this involves a non-trivial morphism of rings $A \to B$.
Abstract types and basic interface
At the moment we have no abstract type for such morphisms and no interface spelled out.
Types
ProjectiveSchemeMor — TypeProjectiveSchemeMorA morphism of projective schemes
ℙˢ(B) ℙʳ(A)
∪ ∪
P → Q
↓ ↓
Spec(B) → Spec(A)given by means of a commutative diagram of homomorphisms of graded rings
A[v₀,…,vᵣ] → B[u₀,…,uₛ]
↑ ↑
A → BIf no morphism A → B of the base rings is specified, then both $P$ and $Q$ are assumed to be defined in relative projective space over the same ring with the identity on the base.
Constructors
morphism — Methodmorphism(P::AbsProjectiveScheme, Q::AbsProjectiveScheme, f::Map; check::Bool=true )Given a morphism $f : T → S$ of the homogeneous_coordinate_rings of Q and P, respectively, construct the associated morphism of projective schemes.
morphism — Methodmorphism(P::AbsProjectiveScheme, Q::AbsProjectiveScheme, f::Map, h::SchemeMor; check::Bool=true )Suppose $P ⊂ ℙʳ_A$ and $Q ⊂ ℙˢ_B$ are projective schemes, $h : Spec(A) → Spec(B)$ is a morphism of their base_schemes, and $f : T → S$ a morphism of the homogeneous_coordinate_rings of Q and P over $h^* : B → A$. This constructs the associated morphism of projective schemes.
morphism — Methodmorphism(X::AbsProjectiveScheme, Y::AbsProjectiveScheme, a::Vector{<:RingElem})Suppose $X ⊂ ℙʳ$ and $Y ⊂ ℙˢ$ are projective schemes over the same base_scheme. Construct the morphism of projective schemes associated to the morphism of graded rings which takes the generators of the homogeneous_coordinate_ring of $Y$ to the elements in a of the homogeneous_coordinate_ring of $X$.
Attributes
As every instance of Map, a morphism of projective schemes can be asked for its (co-)domain:
domain(phi::ProjectiveSchemeMor)
codomain(phi::ProjectiveSchemeMor)Moreover, we provide getters for the associated morphisms of rings:
pullback — Methodpullback(phi::ProjectiveSchemeMor)For a morphism phi of projective schemes, this returns the associated morphism of graded affine algebras.
base_ring_morphism — Methodbase_ring_morphism(phi::ProjectiveSchemeMor)For a morphism phi : P → Q of relative projective spaces over psi : Spec(A) → Spec(B) this returns the associated map B → A.
base_map — Methodbase_map(phi::ProjectiveSchemeMor)For a morphism phi : P → Q of relative projective spaces over psi : Spec(A) → Spec(B) this returns psi.
map_on_affine_cones — Methodmap_on_affine_cones(phi::ProjectiveSchemeMor)For a morphism phi : X → Y this returns the associated morphism of the affine_cones $C(X) → C(Y)$.
Methods
covered_scheme_morphism — Methodcovered_scheme_morphism(f::AbsProjectiveSchemeMorphism)Given a morphism of ProjectiveSchemes $f : X → Y$, construct and return the same morphism as a CoveredSchemeMorphism of the covered_schemes of $X$ and $Y$, respectively.
Examples
julia> P, (x, y, z) = graded_polynomial_ring(QQ, [:x, :y, :z]);
julia> I = ideal([x^3-y^2*z]);
julia> Y = proj(P, I);
julia> f = identity_map(Y)
Projective scheme morphism
from projective scheme in IP^2 over QQ
to projective scheme in IP^2 over QQ
julia> fcov = covered_scheme_morphism(f);
julia> codomain(fcov)
Scheme
over rational field
with default covering
described by patches
1: scheme(-(y//x)^2*(z//x) + 1)
2: scheme((x//y)^3 - (z//y))
3: scheme((x//z)^3 - (y//z)^2)
in the coordinate(s)
1: [(y//x), (z//x)]
2: [(x//y), (z//y)]
3: [(x//z), (y//z)]