Abstract Variety Maps
Constructors
map
— Functionmap(X::AbstractVariety, Y::AbstractVariety, fˣ::Vector, fₓ = nothing; inclusion::Bool = false, symbol::String = "x")
Return an abstract variety map X
$\rightarrow$ Y
by specifying the pullbacks of the generators of the Chow ring of Y
.
The corresponding pushforward will be automatically computed in certain cases.
In the case of an inclusion X
$\hookrightarrow$ Y
where the class of X
is not present in the Chow ring of Y
, use the argument inclusion = true
. Then, a copy of Y
will be created, with extra classes added so that one can pushforward all classes on X
.
Examples
julia> P2xP2 = abstract_projective_space(2, symbol = "k")*abstract_projective_space(2, symbol = "l")
AbstractVariety of dim 4
julia> k, l = gens(P2xP2)
2-element Vector{MPolyQuoRingElem{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}}:
k
l
julia> P8 = abstract_projective_space(8)
AbstractVariety of dim 8
julia> h = gens(P8)[1]
h
julia> Se = map(P2xP2, P8, [k+l]) # Segre embedding
AbstractVarietyMap from AbstractVariety of dim 4 to AbstractVariety of dim 8
julia> pullback(Se, h)
k + l
julia> pushforward(Se, k+l)
6*h^5
This function is part of the experimental code in Oscar. Please read here for more details.
identity_map
— Methodidentity_map(X::AbstractVariety)
Return the identity map on X
.
This function is part of the experimental code in Oscar. Please read here for more details.
Underlying Data of an Abstract Variety Map
An abstract variety map is made up from (a selection of) the data discussed here:
domain
— Method domain(f::AbstractVarietyMap)
Return the domain of f
.
This function is part of the experimental code in Oscar. Please read here for more details.
codomain
— Method codomain(f::AbstractVarietyMap)
Return the codomain of f
.
This function is part of the experimental code in Oscar. Please read here for more details.
dim
— Methoddim(f::AbstractVarietyMap)
Return the relative dimension of f
, that is, return dim(domain(f)) - dim(codomain(f))
.
Examples
julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2
julia> P5 = abstract_projective_space(5, symbol = "H")
AbstractVariety of dim 5
julia> h = gens(P2)[1]
h
julia> i = map(P2, P5, [2*h])
AbstractVarietyMap from AbstractVariety of dim 2 to AbstractVariety of dim 5
julia> dim(i)
-3
This function is part of the experimental code in Oscar. Please read here for more details.
pullback
— Methodpullback(f::AbstractVarietyMap, y::MPolyDecRingElem)
Return the pullback of y
via f
.
Examples
julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2
julia> P5 = abstract_projective_space(5, symbol = "H")
AbstractVariety of dim 5
julia> h = gens(P2)[1]
h
julia> i = map(P2, P5, [2*h])
AbstractVarietyMap from AbstractVariety of dim 2 to AbstractVariety of dim 5
julia> H = gens(P5)[1]
H
julia> pullback(i, H)
2*h
This function is part of the experimental code in Oscar. Please read here for more details.
pushforward
— Methodpushforward(f::AbstractVarietyMap, x::MPolyDecRingElem)
Return the pushforward of x
via f
.
Examples
julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2
julia> P5 = abstract_projective_space(5, symbol = "H")
AbstractVariety of dim 5
julia> h = gens(P2)[1]
h
julia> i = map(P2, P5, [2*h])
AbstractVarietyMap from AbstractVariety of dim 2 to AbstractVariety of dim 5
julia> pushforward(i, h)
2*H^4
This function is part of the experimental code in Oscar. Please read here for more details.
tangent_bundle
— Methodtangent_bundle(f::AbstractVarietyMap)
If domain(f)
and codomain(f)
are given tangent bundles, return the relative tangent bundle of f
.
Examples
julia> P2 = abstract_projective_space(2)
AbstractVariety of dim 2
julia> T = tangent_bundle(P2)
AbstractBundle of rank 2 on AbstractVariety of dim 2
julia> PT = abstract_projective_bundle(T)
AbstractVariety of dim 3
julia> pr = structure_map(PT)
AbstractVarietyMap from AbstractVariety of dim 3 to AbstractVariety of dim 2
julia> PBT = pullback(pr, T)
AbstractBundle of rank 2 on AbstractVariety of dim 3
julia> tangent_bundle(PT) - PBT == tangent_bundle(pr)
true
julia> PBT*OO(PT, 1) - OO(PT) == tangent_bundle(pr) # relative Euler sequence
true
This function is part of the experimental code in Oscar. Please read here for more details.
Further Data Associated to an Abstract Variety Map
cotangent_bundle
— Methodcotangent_bundle(f::AbstractVarietyMap)
If domain(f)
and codomain(f)
are given tangent bundles, return the relative cotangent bundle of f
.
This function is part of the experimental code in Oscar. Please read here for more details.
todd_class
— Methodtodd_class(f::AbstractVarietyMap)
Return the Todd class of the relative tangent bundle of f
.
This function is part of the experimental code in Oscar. Please read here for more details.
Operations on Abstract Variety Maps
compose
— Methodcompose(f::AbstractVarietyMap, g::AbstractVarietyMap)
Given abstract variety maps f
: X
$\to$ Y
and g
: Y
$\to$ Z
, say, return their composition.
This function is part of the experimental code in Oscar. Please read here for more details.